在libevent中使用EVLOOP_NONBLOCK

时间:2013-03-12 09:20:45

标签: c++ libevent

libevent我添加了以下代码:

while (run) {
  event_base_loop(base, EVLOOP_NONBLOCK | EVLOOP_ONCE);
}

如果我将其与以下内容进行比较:

event_base_dispatch(base);

这两个陈述是否相等?

1 个答案:

答案 0 :(得分:0)

不,event_base_dispatch(base)来电相当于event_base_loop(base, 0),这意味着它不会在第一批事件(例如event_base_loopEVLOOP_ONCE之后)之后停止,也不会如果没有事件就绪,请立即返回(例如event_base_loop EVLOOP_NONBLOCK)。

你可能想阅读Nick Mathewson写的关于libevent的好书:http://www.wangafu.net/~nickm/libevent-book/Ref3_eventloop.html