我正在开发基于Boost :: Asio的网络服务器。阻止提升Asio工作线程
我有我使用调用IO工作线程的boost::thread_group
boost::asio::io_service::run()
当网络活动发生ASIO使用这些工作线程以处理活动中的一个(例如,接受或接收)。
我的应用程序然后做了一些工作,可能是一些计算,可能还有一些其他的IO(通过boost)以及可能的一些数据库活动。
我想知道在这些线程中做所述工作的含义。具体做法是:
- 是否在IO线程导致 的
io_service
任何悲痛执行(可能显著工作)?
而不是特别的:我应该考虑的任何其他问题。
我不清楚你是什么意思,通过从工作者线程回调'boost :: asio'。我希望所有的工作线程都将其他工作添加到'io_service'中,否则事件处理循环('io_service :: run()')将终止。 – 2012-02-16 22:43:32
@Sam,谢谢 - 我想我可能对这个问题太担心了。我将编辑该问题。我想我真正关心的是在工作线程中做了太多工作。 – Nick 2012-02-17 08:43:26