我正在使用Boost Asio编写服务器应用程序:
问题:所有客户端都连接到服务器(客户端数量>服务器核心数量); io_service每个线程只处理一个连接/套接字,而其他套接字的数据在处理完的一个连接完成之前不会被处理。
我希望所有连接套接字的数据同时由io_service线程池处理?
答案 0 :(得分:1)
预期的行为是什么?如果您有io_service
个线程调用n
,则n
只能调用io_service::run()
个处理程序。如果未完成的异步操作数大于n
,则其处理程序将在io_service
队列中等待,直到线程可以自由调用它们为止。