我在boost::asio
. 我有一些非常基本的问题。
我是否需要有一个不同的io_service
,并且socket
在一个不同的thread
但一个单一的下不同acceptor
,以在线程服务器中处理客户端?
我相信我必须为新客户使用不同的套接字。但是如果所有线程都使用相同的线程,io_service
它会是并行的吗?
我在 asio 部分浏览了http://en.highscore.de/cpp/boost/index.html,它说我需要在不同的线程中有不同的 io_services 来实现并行化。
如果我计划创建一个 Server 类,该类在new TCPsession
每次出现新客户端时创建一个,acceptor.async_accept
并且TCPSession
ctor 创建一个io_service
和一个thread
并io_service.run()
在其自己的线程中运行它会是一个好的设计吗?
然而,在这个设计中,我将在哪里加入所有这些线程?我是否需要另一个io_service
formain
以便它在获得新 Client 之前不会终止?