Vad är en Event Loop?

En händelseslinga – eller huvudslinga, om det är den centrala kontrollaspekten – är en konstruktion inom program som styr och skickar händelser efter en initial händelse. Den första händelsen kan vara vad som helst, inklusive att trycka på en knapp på ett tangentbord eller att klicka på en knapp på ett program. Efter avfrågning av enheterna kommer händelseslingan att skicka en händelse som skapar en önskad effekt, baserat på programmeringen. Detta kallas en loop, inte för att händelsen cirklar och sker kontinuerligt, utan för att loopen förbereder sig för en händelse, kontrollerar händelsen, skickar en händelse och upprepar processen igen.

Inom datorprogrammering finns det en struktur som kallas händelseslingan. Detta är ett kodblock som säger åt datorn att vänta på en händelse och vad den ska göra som svar på händelsen. Ibland tar loopen bara upp en liten del av kodningen; oftare är det den centrala logiken i ett kodningsdokument. När den utgör den centrala logiken kallas den också för huvudslingan.

Händelsen som en händelseslinga väntar på kan vara vad som helst. En händelse kan manifestera sig från att en användare trycker på en tangentbordsknapp, flyttar en mus, öppnar ett program eller något annat som en användare kan göra med en dator. Händelsen kommer vanligtvis från en extern enhet, som tangentbordet eller musen, men det kan också vara ett resultat av interna processer. När den angivna händelsen inträffar kommer huvudslingan att utlösa en annan händelse som svar, till exempel att posta ett brev i ett dokument eller tillåta användaren att komma åt en mapp.

Fyra processer behövs för att skapa händelseslingan. Den första händelsen kallas förberedelsefrågan. Detta förbereder programmet för att polla enheten eller enheterna som ansvarar för händelsen, så att datorn får de rätta resurserna tilldelade för åtgärden. Efter detta kontrollerar loopen faktiskt enheter för händelsen för att se om händelsen inträffade. Sist i denna ordning är kontrollfunktionen, som returnerar resultatet av omröstningen till loopen.

Om händelsen återgår som sant, fortsätter loopen; om inte, går den tillbaka för att förbereda. Om det är sant, inträffar den fjärde åtgärden – kallad utskick. Det är när alla resurser skickas för att skapa ett svar på den tillfrågade händelsen, vilket orsakar en reaktion. Efter utskicket går slingan tillbaka för att förbereda sig, för att göra sig redo igen för att leta efter händelser.