【发布时间】:2012-02-02 11:42:05
【问题描述】:
我在 ace 中找到了两种结束反应器事件循环的方法:
1. ACE_Reactor::instance()->end_reactor_event_loop();
2. ACE_Reactor::instance()->close()
它们之间有什么区别?我应该使用哪个?
【问题讨论】:
我在 ace 中找到了两种结束反应器事件循环的方法:
1. ACE_Reactor::instance()->end_reactor_event_loop();
2. ACE_Reactor::instance()->close()
它们之间有什么区别?我应该使用哪个?
【问题讨论】:
取决于你想做什么:
两者的区别基本上是:
end_reactor_event_loop 停止反应器对消息的处理,但不会释放资源,也不会丢弃队列中已经存在的任何消息。
另一方面,close 将执行上述操作并释放与ACE_Reactor::intance() 的实现相关的所有资源,从而丢弃消息,删除与反应器相关的所有套接字和处理程序等。
因此,根据您所做的事情,您可以选择其中一个或另一个,您需要提供更多详细信息。
【讨论】: