我正在实现一个套接字服务器。所有客户端(最多10k)都应该保持连接状态。
这是我目前的设计:
将读取的部分移到线程池是否可以,还是有其他更好的主意?谢谢。
很难说。您不希望在后台运行1万个线程。您应该将读取的部分保留在主线程中。这样一来,如果所有客户端突然开始请求事务,那么您只会在线程池队列中堆积这些资源(最终不会同时运行10k个线程)。同样,由于避免了一些不必要的上下文切换(在自己的线程之间),您可能会因此获得更好的性能。
另一方面,如果您的客户端不太可能同时发送请求,或者答复非常简单,则每个客户端仅拥有一个线程可能会更简单,并且避免在主线程和线程池之间进行上下文切换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句