Бөлісу құралы:


Функция EventLoop_Run

Заголовок: #include <applibs/eventloop.h>

Запускает EventLoop и отправляет ожидающие события в потоке выполнения вызывающего объекта.

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

Параметры

  • el Объект EventLoop для запуска.

  • duration_in_milliseconds Продолжительность выполнения цикла событий. Если значение равно нулю, цикл обработает одно событие, если оно готово и немедленно прервется, независимо от значения process_one_event параметра. Если больше нуля, цикл будет выполняться в течение указанного времени, если он не будет прерван. Если меньше нуля, цикл будет продолжать выполняться до прерывания. Дополнительные условия см. в функции EventLoop_Stop и параметре process_one_event .

  • process_one_event Указывает, следует ли прерывать цикл после обработки первого события. Если задано значение false, цикл будет продолжаться в течение времени, указанного duration_in_milliseconds параметром, или до тех пор, пока не будет прервано EventLoop_Stop. Этот параметр игнорируется, если duration_in_milliseconds равен нулю.

Возвращаемое значение

Возвращает значение EventLoop_Run_Result , указывающее результаты вызова функции.

Замечания

Приложение может вызвать EventLoop_Run(el, -1, false) для передачи управления вызывающим потоком в EventLoop.

Если приложение вызывает EventLoop_Run(el, -1, true), цикл будет блокироваться и ждать, пока первое событие не будет готово, а затем обработает событие и вернет.

Приложение может вызвать EventLoop_Stop , чтобы завершить работу EventLoop_Run раньше.