Ereignisorientierte Programmierung ist ein Form der parallelen (nebenläufigen) und pseudo-parallelen Programmierung. Programme zur Ereignisbearbeitung enthalten den Code zur Verarbeitung des Ereignisses nicht im Kontrollfluss des Hauptprogrammes. Das Hauptprogramm dient nur der Initialisierung und zum Teil dem zyklischen Abfragen (Polling) der Ereignisse, wenn die Ereignis-Benachrichtigungen nicht schon durch Hardware- und/oder Betriebssystemmechanismen geliefert werden (pseudo-parallel).
Das Hauptprogramm initialisiert und registriert für jedes Ereignis oder ganzen Gruppen von Ereignissen Programmcode, der zur asynchron zum Hauptprogramm zur Ausführung gelangt, wenn das Ereignis eingetreten ist und der oft in einem eigenen Thread oder Prozess (Task) ausgeführt wird. Je nach Betriebssystem und Programmiersprache, gibt es sehr viele Varianten dieses "Inversion of Control" genannten Prinzips. Verbreite Bezeichnungen für Codes, die für Rückrufe genutzt werden sind zum Beispiel:
- Rückruffunktion (Callback function),
- Event Handler,
- Interrupt Service Routine,
- Klassen nach dem Observer-Pattern,
- Action Listener,
- Event Listener,
- Exit Routine,
- Event Notification Function,
- Event Indication Function