Sdílet prostřednictvím


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 parametru process_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 parametru process_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 parametrem duration_in_milliseconds nebo dokud není přerušena EventLoop_Stop. Tento parametr se ignoruje, pokud duration_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 .