Προγραμματισμός χειρισμού γεγονότων

Ο Προγραμματισμός χειρισμού γεγονότων ή συμβάντων (Αγγλικά: Event-driven programming) είναι το παράδειγμα προγραμματισμού όπου η ροή του προγράμματος εξαρτάται από εισερχόμενα γεγονότα. Για παράδειγμα σε μια γραφική διεπαφή χρήστη έχουμε ως γεγονότα τα πατήματα πλήκτρων ή επιλογών με το ποντίκι. Σε ενσωματωμένα συστήματα μικροελεγκτών έχουμε ως γεγονότα τα δεδομένα των αισθητήρων. Επίσης ως γεγονότα μπορεί να είναι μηνύματα/αλληλεπιδράσεις με άλλα προγράμματα ή νημάτων. Η μεθοδολογία προγραμματισμός χειρισμού γεγονότων χρησιμοποιείται κυρίως σε γραφικά περιβάλλοντα αλληλεπίδρασης χρήστη-υπολογιστή (Graphical User Interfaces). Τα τελευταία χρόνια με την javascript χρησιμοποιείται και σε δικτυακές εφαρμογές όπου η σελίδα αλληλεπιδρά με τον χρήστη. [1]

Η βασική ιδέα στον προγραμματισμός χειρισμού γεγονότων είναι ότι υπάρχει ένα κύριος ατέρμονος βρόχος (loop) ο οποίος παρακολουθεί τα γεγονότα (events) που δημιουργούνται. Όταν ένα γεγονός λαμβάνει χώρα τότε μια συνάρτηση callback καλείται και μεταβάλλεται η ροή του προγράμματος. [2] Σε ενσωματωμένα συστήματα (π.χ. ελεγκτές) τρέχει επίσης ένας κύριος ατέρμονος βρόχος αλλά η αλληλεπίδραση μπορεί να γίνεται με interrupts [3].

  1. Flanagan, David (2011). JavaScript : the definitive guide (6η έκδοση). Beijing: O'Reilly. σελ. 445. ISBN 978-0596805524. 
  2. Jain, Lakhmi C.· Nguyen, Ngoc Thanh, επιμ. (2009). Knowledge processing and decision making in agent-based systems. Berlin: Springer. σελ. 154. ISBN 978-3-540-88048-6. 
  3. K.V, Shibu (2009). Introduction to embedded systems. New Delhi: Tata McGraw-Hill Education. σελ. 121. ISBN 978-0-07-014589-4.