|
1
5
是的,你的推理基本上是正确的。您将为每个核心创建一个线程,为每个线程创建一个IO服务实例,并在每个线程中调用IO服务.run()。 然而,问题是你是否真的会那样做。我看到的问题是:
我的建议是拥有一个IO服务实例,并在每个核心的线程中调用IO服务.run()。如果您的性能不足,或者每个连接有大量CPU的连接类,并且您可以获得缓存胜利,那么将这些连接转移到特定的IO服务实例。 在这种情况下,您应该进行分析,看看有多少缓存未命中会让您付出代价,以及在哪里。 |
|
|
2
2
如果您的服务器应用程序应该在Windows计算机上运行,那么您应该考虑使用IO完成端口。 它能够将活动线程的数量限制为核心的数量。它将IO事件从理论上无限数量的套接字分布到活动线程。调度由操作系统完成。 Here 是一个很好的例子。 |
|
|
3
0
你可以用单人间
|