代码之家  ›  专栏  ›  技术社区  ›  ruipacheco

多线程应该何时与ASIO一起使用?

  •  0
  • ruipacheco  · 技术社区  · 6 年前

    我正在编写一个使用BoostASIO的网络库,我对是否应该使用单独的线程来运行IO服务感到困惑。

    我现在有一个课程,涵盖所有的ASIO工作。它有一个IO服务、一个套接字等,并使用异步读写方法与远程服务器通信。此类公开读写方法,以允许用户与远程服务器通信。

    然后其他类调用这个类,这些类使用它的读/写方法向远程服务器发送和接收数据。在某些情况下,会有从服务器读取/写入数据的链接调用,直到调用最终用户提供的回调来传递计算的最终结果。

    我现在正在尝试实现一个连接池,我想知道是否需要一个线程池:所有对远程服务器的读和写都使用异步方法,没有一个读后处理涉及到在最终用户提供回调之前阻止调用。在不需要单独的线程池的情况下,同时运行一系列连接对象是否可以?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Matthieu Brucher    6 年前

    async_read async_write io_service