服务每个核心只处理一个套接字
我正在使用Boost Asio编写服务器应用程序:
问题:所有客户端都连接到服务器(客户端数量>服务器核心数量); io_service每个线程只处理一个连接/套接字,而来自其他套接字的数据不会被处理,直到其中一个处理的连接完成。
我希望来自所有连接的套接字的数据能够被io_service线程池同时处理?
预期的行为是什么? 如果你有n
线程调用io_service::run()
你的io_service
只能调用n
处理程序。 如果未完成异步操作的数量大于n
,则它们的处理程序将在io_service
队列中等待,直到线程可以自由调用它们。
上一篇: service handles only one socket per core
下一篇: c++