Share via


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 de process_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 de process_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 de duration_in_milliseconds parameter, of totdat deze wordt onderbroken door EventLoop_Stop. Deze parameter wordt genegeerd als duration_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 .