event_base_dispatch() 是如何工作的?
Posted
技术标签:
【中文标题】event_base_dispatch() 是如何工作的?【英文标题】:How does event_base_dispatch( ) work? 【发布时间】:2015-06-12 10:26:43 【问题描述】:当event_base_dispatch( )
函数被调用时,内部会发生什么?是否有创建的线程会一直运行,直到收到停止信号?
【问题讨论】:
【参考方案1】: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
【讨论】:
以上是关于event_base_dispatch() 是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章
在 libevent 中使用 EVLOOP_NONBLOCK
交叉验证是如何执行的以及 GridSearchCV() 具体是如何执行的?