EventLoop_Run functie
Header: #include <applibs/eventloop.h>
Voert een EventLoop uit en verzendt in behandeling zijnde gebeurtenissen in de uitvoeringsthread van de aanroeper.
EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
bool process_one_event);
Parameters
el
De EventLoop die moet worden uitgevoerd.duration_in_milliseconds
De tijdsduur voor het uitvoeren van de gebeurtenislus. Als nul is, verwerkt de lus één gebeurtenis als deze gereed is en onmiddellijk wordt verbroken, ongeacht de waarde van deprocess_one_event
parameter. Als deze groter is dan nul, wordt de lus uitgevoerd voor de opgegeven duur, tenzij deze wordt onderbroken. Als het minder dan nul is, blijft de lus actief totdat deze wordt onderbroken. Zie de functie EventLoop_Stop en deprocess_one_event
parameter voor aanvullende voorwaarden.process_one_event
Geeft aan of de lus moet worden verbroken nadat de eerste gebeurtenis is verwerkt. Als de lus onwaar is, blijft de lus actief gedurende de duur die is opgegeven door deduration_in_milliseconds
parameter, of totdat deze wordt onderbroken door EventLoop_Stop. Deze parameter wordt genegeerd alsduration_in_milliseconds
nul is.
Retourwaarde
Retourneert een EventLoop_Run_Result-waarde die de resultaten van deze functieaanroep aangeeft.
Opmerkingen
Een toepassing kan aanroepen EventLoop_Run(el, -1, false)
om het beheer van de aanroepende thread door te geven aan de EventLoop
.
Als de toepassing aanroept EventLoop_Run(el, -1, true)
, wordt de lus geblokkeerd en wordt gewacht totdat de eerste gebeurtenis gereed is. Vervolgens wordt de gebeurtenis verwerkt en geretourneerd.
Een toepassing kan EventLoop_Stop aanroepen om eerder af te sluiten EventLoop_Run
.