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
。