event_base_dispatch()如何工作?

时间:2015-06-12 10:26:43

标签: c events libevent

调用event_base_dispatch( )函数时内部会发生什么?是否有任何创建的线程一直运行,直到收到一些要停止的信号?

1 个答案:

答案 0 :(得分:2)

event_base_dispatch()是一个阻塞调用,它在调用该函数的线程中的循环内执行定义的回调。它会继续运行,直到没有注册的活动或您致电event_base_loopexit() / event_base_loopbreak()http://www.wangafu.net/~nickm/libevent-book/Ref3_eventloop.html

相当于event_base_loop(event_base, 0)。在快速查看源代码后,我没有看到任何其他线程创建:
https://github.com/libevent/libevent/blob/master/event.c#L1847