我是一个新手,如果我的问题对于有经验的Netty和Tomcat用户来说似乎太幼稚了,那么我很抱歉。
我正在运行一个Netty WebSocket服务器(使用示例代码并在端口8090上运行),通过Spring在Tomcat内部配置(在端口8080上运行)。我试图理解两者的线程模型以及整体如何工作。
据我了解,Tomcat默认设置maxThreads = 200
(活动线程的最大数量)。
而Netty使用boss线程创建和连接/绑定套接字,然后将其传递给工作线程,进行实际的异步I/O操作。
现在我正在尝试理解:
Netty使用的线程是否会从Tomcat池中取出,并因此减少活动线程的数量?
对于每个WebSocket连接,是否会分配和使用单独的线程(虽然我对WebSocket实现不是很清楚,但我认为答案应该是否定的)。
总的来说,这会影响同时连接到Web应用程序和WebSocket服务器的客户端数量吗?
编辑:
因此,在编写WebSocket服务器时,是否有任何特定的要点需要注意?
Executors.newCachedThreadPool()
声明线程池,我理解它将是一个不同的线程池,对吗?至于第二部分,您能否再详细解释一下? - Rndm