AChannel
は 1 つの中に付いていEventLoop
ますChannel.Unsafe#register
。レジストレーションは、モジュロ演算によって配布されEventExecutorGroup#next
ます。AChannelHandlerContext
は 1 つのスレッド (多くの場合、 と同じスレッド) にバインドされますChannel
。
チャネルが不均等に登録解除されたり、ワークロードがこれらのチャネル間で不均等に分散されたりする可能性があります。偶然にも、1 つのスレッドで完全なワークロードを処理できる場合があります。
このケースを防ぐパターンはありますか、それとも避けられない構造上の問題ですか?