C++ 可以使用Boost.Asio使用单独的线程进行读写吗?

C++ 可以使用Boost.Asio使用单独的线程进行读写吗?,c++,multithreading,boost,boost-asio,C++,Multithreading,Boost,Boost Asio,根据Boost,让多个线程调用io\u service::run()将建立一个线程池,io服务可以使用该线程池执行异步任务。它明确指出,所有加入池的线程都被认为是等效的 这是否意味着不可能有一个单独的线程用于从套接字读取,另一个单独的线程用于写入?如果可能,我将如何实现这一点?任何调用io\u service::run()的线程都可以用来调用异步处理程序。但您不能具体指定哪个线程执行哪种类型的操作。例如,如果在两个后台线程中调用io_service::run(),并在主线程中调用socket::

根据Boost,让多个线程调用
io\u service::run()
将建立一个线程池,io服务可以使用该线程池执行异步任务。它明确指出,所有加入池的线程都被认为是等效的


这是否意味着不可能有一个单独的线程用于从套接字读取,另一个单独的线程用于写入?如果可能,我将如何实现这一点?

任何调用
io\u service::run()
的线程都可以用来调用异步处理程序。但您不能具体指定哪个线程执行哪种类型的操作。例如,如果在两个后台线程中调用io_service::run(),并在主线程中调用
socket::async_send
socket::async_receive
,则处理程序将在当前可用的任何后台线程中执行。是的,所有线程基本上都被认为是等效的,并且可以用于任何异步操作