“太多”;java.lang.Thread.State:等待(停车)";Netty在Java游戏服务器上转储线程时

“太多”;java.lang.Thread.State:等待(停车)";Netty在Java游戏服务器上转储线程时,java,multithreading,netty,state,Java,Multithreading,Netty,State,我正在运行一个基于Netty框架的Socket游戏服务器。这一次,服务器有一个严重的问题:CPU使用率为0%,并且突然不再接受连接 平均CCU约为100 我转储了java线程,并意识到有太多的线程具有状态 java.lang.Thread.State: WAITING (parking) 这是正常的Netty框架还是我做了一些蠢事 这是我的我看到你的线程池中有很多空闲线程看起来不错。Web服务器有许多空闲线程,它们等待处理新连接-您可以看到线程在LinkedBlockingQueue上被阻塞。

我正在运行一个基于Netty框架的Socket游戏服务器。这一次,服务器有一个严重的问题:CPU使用率为0%,并且突然不再接受连接

平均CCU约为100

我转储了java线程,并意识到有太多的线程具有状态

java.lang.Thread.State: WAITING (parking)
这是正常的Netty框架还是我做了一些蠢事


这是我的

我看到你的线程池中有很多空闲线程看起来不错。Web服务器有许多空闲线程,它们等待处理新连接-您可以看到线程在
LinkedBlockingQueue
上被阻塞。您的CPU进程数是多少?netty将对IO线程defualt.@Spring.Rush使用processCount*2。我读到,
等待
一个无限期等待另一个线程执行特定操作的线程处于这种状态。
因此我认为该线程正在等待synchronize@Spring.Rush首先,我将其保留为默认值。运行几周后,我意识到服务器响应有一些延迟,现在我像这样设置了新的NioServerSocketChannelFactory(Executors.newCachedThreadPool(),Executors.newCachedThreadPool(),32)