funkce EventLoop_Run
Hlavička: #include <applibs/eventloop.h>
Spustí EventLoop a odešle čekající události ve vlákně provádění volajícího.
EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
bool process_one_event);
Parametry
el
EventLoop, který se má spustit.duration_in_milliseconds
Doba spuštění smyčky událostí. Pokud je nula, smyčka zpracuje jednu událost, pokud je připravená, a okamžitě se přeruší bez ohledu na hodnotu parametruprocess_one_event
. Pokud je větší než nula, bude smyčka spuštěna po zadanou dobu, pokud není přerušena. Pokud je menší než nula, smyčka bude dál běžet, dokud se nepřeruší. Další podmínky najdete ve funkci EventLoop_Stop a parametruprocess_one_event
.process_one_event
Určuje, zda se má přerušit smyčka po zpracování první události. Pokud je false, smyčka bude dál běžet po dobu určenou parametremduration_in_milliseconds
nebo dokud není přerušena EventLoop_Stop. Tento parametr se ignoruje, pokudduration_in_milliseconds
je nula.
Vrácená hodnota
Vrátí EventLoop_Run_Result hodnotu, která označuje výsledky tohoto volání funkce.
Poznámky
Aplikace může volat EventLoop_Run(el, -1, false)
, aby předala řízení volajícího vlákna do EventLoop
.
Pokud aplikace volá EventLoop_Run(el, -1, true)
, smyčka se zablokuje a počká, až bude první událost připravená, pak událost zpracuje a vrátí.
Aplikace může volat EventLoop_Stop k dřívějšímu ukončení EventLoop_Run
.