Wat is een gebeurtenislus?
Een gebeurtenislus - of hoofdlus, als dit het centrale besturingsaspect is - is een constructie binnen programma's die gebeurtenissen regelt en verzendt na een initiële gebeurtenis. De initiële gebeurtenis kan van alles zijn, inclusief het indrukken van een knop op een toetsenbord of het klikken op een knop in een programma. Na het pollen van de apparaten, verzendt de gebeurtenislus een gebeurtenis die op basis van de programmering een gewenst effect creëert. Dit wordt een lus genoemd, niet omdat de gebeurtenis continu circuleert en gebeurt, maar omdat de lus zich voorbereidt op een gebeurtenis, de gebeurtenis controleert, een gebeurtenis verzendt en het proces helemaal opnieuw herhaalt.
Bij computerprogrammering is er een structuur die de gebeurtenislus wordt genoemd. Dit is een codeblok dat de computer vertelt te wachten op een gebeurtenis en wat te doen als reactie op de gebeurtenis. Soms neemt de lus slechts een klein deel codering in beslag; vaker is het de centrale logica van een coderingsdocument. Wanneer het de centrale logica vormt, wordt het ook de hoofdlus genoemd.
De gebeurtenis waarop een gebeurtenislus wacht, kan van alles zijn. Een gebeurtenis kan zich manifesteren wanneer een gebruiker op een toetsenbordknop drukt, een muis beweegt, een toepassing opent of iets anders dat een gebruiker met een computer kan doen. De gebeurtenis komt meestal van een extern apparaat, zoals het toetsenbord of de muis, maar het kan ook een gevolg zijn van interne processen. Wanneer de opgegeven gebeurtenis plaatsvindt, activeert de hoofdlus een andere gebeurtenis als reactie, zoals het plaatsen van een brief in een document of het toestaan van toegang tot een map aan de gebruiker.
Er zijn vier processen nodig om de gebeurtenislus te maken. De eerste gebeurtenis wordt de voorbereidingsquery genoemd. Dit bereidt het programma voor op het pollen van het apparaat of de apparaten die verantwoordelijk zijn voor de gebeurtenis, zodat de computer de juiste middelen krijgt toegewezen voor de actie. Hierna peilt de lus daadwerkelijk apparaten voor de gebeurtenis om te zien of de gebeurtenis plaatsvond. De laatste in deze volgorde is de controlefunctie, die het resultaat van de peiling teruggeeft aan de lus.
Als de gebeurtenis als waar terugkeert, gaat de lus verder; zo niet, dan gaat het terug om het voor te bereiden. Als dit waar is, vindt de vierde actie - dispatch - plaats. Dit is het moment waarop alle bronnen worden verzonden om een reactie op de ondervraging te creëren, die een reactie veroorzaakt. Na verzending gaat de lus terug om zich voor te bereiden, om zichzelf weer gereed te maken om te controleren op gebeurtenissen.