Lập trình hướng sự kiện

Trong lập trình máy tính, lập trình hướng sự kiện, hay chính xác là lập trình dẫn động bằng sự kiện (tiếng Anh: Event-driven programming), là một mẫu hình lập trình trong đó luồng của chương trình được quyết định bởi các sự kiện như hành động người dùng (nhấp chuột, bấm phím), đầu ra cảm biến, hoặc thông điệp từ các chương trình hoặc các luồng. Lập trình hướng sự kiện là mô hình chi phối được sử dụng trong giao diện người dùng đồ họa và các ứng dụng khác (ví dụ: ứng dụng web JavaScript) tập trung vào việc thực hiện một số hành động nhất định để đáp ứng đầu vào của người dùng. Điều này cũng đúng với lập trình cho trình điều khiển thiết bị (ví dụ: P trong ngăn xếp trình điều khiển thiết bị USB).
Trong một ứng dụng hướng sự kiện, thường có một vòng lặp chính lắng nghe các sự kiện và sau đó kích hoạt hàm callback khi một trong những sự kiện đó được phát hiện. Trong các hệ thống nhúng, điều tương tự có thể đạt được bằng cách sử dụng ngắt phần cứng thay vì một vòng lặp chính chạy liên tục. Các chương trình hướng sự kiện có thể được viết bằng bất kỳ ngôn ngữ lập trình nào, mặc dù nhiệm vụ dễ dàng hơn trong các ngôn ngữ cung cấp sự trừu tượng hóa ở mức độ cao, chẳng hạn như await và closure.

