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 。 如果大于零,循环将在指定的持续时间内运行,除非它被中断。 如果小于零,循环将一直运行,直到中断。 有关其他条件,process_one_event请参阅 EventLoop_Stop 函数和 参数。

  • 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