2012-04-19 4 views
1

nettyのudpはシングルスレッドモードで動作していますか?nettyのudpはシングルスレッドモードで動作していますか?

Iは以下のようNioDatagramChannelFactoryが設定されている:

新しいNioDatagramChannelFactory(Executors.newFixedThreadPool(4)、4))。

しかし、コードをサーバーとして実行し、udpパッケージを継続的に送信するクライアント20人以上をランチすると、サーバーは依然として1つのワーカースレッドしか使用しません。

なぜですか?

答えて

0

通常、ここに4つのワーカースレッドを使用する必要があります。だから、どうやって1つのスレッドしか使用していないのですか? jstackで、実行中のワーカースレッドの数を確認しましたか?

また、これは最大で持つの世話をする必要があります

new NioDatagramChannelFactory(Executors.newCachedThreadPool(), 4));

を使用する必要があります。 4ワーカースレッド。

+0

ノーマン、チャンネルの工場をNioDatagramChannelFactoryに変更してEchoServerを変更してテストしましたが、ワーカースレッドは1つしか表示できませんが、NioServerChannelFactoryでは8つのワーカースレッドが表示されます。 (20人以上のクライアントでテスト済み)、ブランチ3でフォークをテストしました(最後のコミットは2c2d64a75ea9c636c90b8b16293296a47c7cfd32)、最新の3ブランチではテストできませんでした。 –

関連する問題