调用event_base_dispatch()
函数时内部会发生什么?是否有任何创建的线程在收到停止信号之前一直运行?
最佳答案
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
关于c - event_base_dispatch()如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800776/