Condividi tramite


Funzione EventLoop_Run

Intestazione: #include <applicazioni/eventloop.h>

Esegue un EventoLoop e invia gli eventi in sospeso nel thread di esecuzione del chiamante.

EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
                                   bool process_one_event);

Parametri

  • el Oggetto EventLoop da eseguire.

  • duration_in_milliseconds Periodo di tempo per l'esecuzione del ciclo di eventi. Se zero, il ciclo elabora un evento se uno è pronto e si interrompe immediatamente, indipendentemente dal valore del process_one_event parametro. Se maggiore di zero, il ciclo verrà eseguito per la durata specificata, a meno che non venga interrotto. Se minore di zero, il ciclo continuerà a funzionare fino a quando non viene interrotto. Vedere la funzione EventLoop_Stop e il process_one_event parametro per altre condizioni.

  • process_one_event Indica se interrompere il ciclo dopo l'elaborazione del primo evento. Se false, il ciclo continuerà a essere eseguito per la durata specificata dal duration_in_milliseconds parametro o finché non viene interrotto da EventLoop_Stop. Questo parametro viene ignorato se duration_in_milliseconds è zero.

Valore restituito

Restituisce un EventLoop_Run_Result valore che indica i risultati di questa chiamata di funzione.

Osservazioni

Un'applicazione può chiamare EventLoop_Run(el, -1, false) per passare il controllo del thread chiamante al EventLoop.

Se l'applicazione chiama EventLoop_Run(el, -1, true), il ciclo si blocca e attende fino a quando il primo evento è pronto, quindi elabora l'evento e restituisce.

Un'applicazione può chiamare EventLoop_Stop uscire EventLoop_Run in precedenza.