【问题标题】:Long running processing in handlers with boost::asio使用 boost::asio 在处理程序中长时间运行处理
【发布时间】:2011-12-13 15:14:02
【问题描述】:

我正在设计一个基于 boost::asio 的网络服务器。我需要在处理程序中执行长时间运行的处理作业,并认为应该将这些处理从处理程序移到单独的线程池中,在那里我可以更好地控制(例如优先任务)。处理程序只会在作业队列中排队一个新任务。

还有一个响应队列,响应将被出列并发送回客户端。 (客户端同步发送请求)

我想知道这是否有意义或只是错过了什么。

【问题讨论】:

    标签: boost client-server boost-asio


    【解决方案1】:

    简短的回答是肯定的。长答案取决于。一般来说,如果你想要一个更高的网络,你应该尽量减少在处理程序中执行的处理并将其卸载到线程。如果您对收到的数据有因果关系要求,这一点尤其重要,因为async_receive 不保证处理程序的执行顺序。

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 1970-01-01
      • 1970-01-01
      • 2010-12-19
      • 2016-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多