Tapahtumasilmukka – tai pääsilmukka, jos se on keskeinen ohjausnäkökohta – on ohjelmissa oleva rakenne, joka ohjaa ja lähettää tapahtumia ensimmäisen tapahtuman jälkeen. Alkutapahtuma voi olla mikä tahansa, mukaan lukien näppäimistön painaminen tai ohjelman painikkeen napsauttaminen. Laitteiden kyselyn jälkeen tapahtumasilmukka lähettää tapahtuman, joka luo halutun vaikutuksen ohjelmoinnin perusteella. Tätä kutsutaan silmukoksi, ei siksi, että tapahtuma kiertää ja tapahtuu jatkuvasti, vaan koska silmukka valmistautuu tapahtumaan, tarkistaa tapahtuman, lähettää tapahtuman ja toistaa prosessin uudestaan.
Tietokoneohjelmoinnissa on rakenne, jota kutsutaan tapahtumasilmukoksi. Tämä on koodilohko, joka kehottaa tietokonetta odottamaan tapahtumaa ja mitä on tehtävä vastauksena tapahtumaan. Joskus silmukka vie vain pienen osan koodauksesta; useimmiten se on koodausasiakirjan keskeinen logiikka. Kun se muodostaa keskuslogiikan, sitä kutsutaan myös pääsilmukoksi.
Tapahtuma, jota tapahtumasilmukka odottaa, voi olla mikä tahansa. Tapahtuma voi ilmetä, kun käyttäjä painaa näppäimistön painiketta, liikuttaa hiirtä, avaa sovelluksen tai mitä tahansa muuta, mitä käyttäjä voi tehdä tietokoneella. Tapahtuma tulee yleensä ulkopuoliselta laitteelta, kuten näppäimistöltä tai hiireltä, mutta se voi myös johtua sisäisistä prosesseista. Kun määritetty tapahtuma tapahtuu, pääsilmukka laukaisee vastauksena toisen tapahtuman, kuten kirjeen lähettämisen asiakirjaan tai käyttäjän pääsyn kansioon.
Tapahtumasilmukan luomiseen tarvitaan neljä prosessia. Ensimmäistä tapahtumaa kutsutaan valmistelukyselyksi. Tämä valmistelee ohjelman kyselemään tapahtumasta vastuussa olevan laitteen tai laitteet, jotta tietokone saa tarvittavat resurssit toiminnolle. Tämän jälkeen silmukka kyselee itse asiassa tapahtuman laitteita nähdäkseen, tapahtuiko tapahtuma. Viimeinen tässä järjestyksessä on tarkistustoiminto, joka palauttaa kyselyn tuloksen silmukkaan.
Jos tapahtuma palaa tosi, silmukka jatkuu; jos ei, se palaa valmistautumaan. Jos se on totta, neljäs toiminto – nimeltään lähetys – tapahtuu. Tällöin kaikki resurssit lähetetään luodakseen vastauksen kyselytapahtumaan aiheuttaen reaktion. Lähetyksen jälkeen silmukka palaa valmistautumaan ja valmistautumaan uudelleen tapahtumien varalta.