2016-08-04 15 views
0

Apache Minaから、IOスレッドまたはワーカースレッドにディスパッチすると、特定のIOまたはワーカースレッドへのチャネル(接続)を登録する際にNettyがより多くの負荷分散装置として機能するExecutorスレッドプール内の使用可能なすべてのスレッドが活用されます。このモデルでは、利用可能なスレッドが存在する間、チャネルは固定されたスレッドを待機する必要があります。私はこれがチャンネル上のメッセージの順序を保証するために行われていることを理解していますが、スレッドを固定することなくメッセージの順序を保証するテクニックがあります。特定のスレッドへのチャネルの固定に固有の利点がいくつかありますか?Nettyは、executorスレッドプール内の特定のスレッドにチャネルを登録(登録)するのはなぜですか?

アイドル状態のスレッドがあり、不必要に待機しているチャネルがある可能性があるため、スレッドの固定をサーバーのスループットの問題として確認します。スレッドの固定は、簡単に変更できない強力なフレームワークの原則ですか?

+0

IO以外のスレッドを処理するワーカースレッドを固定することについて話していますか? –

答えて

0

これは、Netty 3からNetty 4に移行するときの意図的な変更であると私は理解しています。この設計の決定の1つの利点は、スレッドセーフハンドラーを書く方が簡単になるということです。

3.xに明確なスレッドモデルはありませんが、3.5ではその不一致を修正しようとしましたが、 4.0では、スレッド安全性についてあまり気にすることなく、ユーザーがChannelHandlerを書くのに役立つ厳密なスレッドモデルが定義されています。読む価値が4.0

何かの変化の

説明あなたは行動

を修正することに興味がある場合3210
関連する問題