selectorObj.select()
メソッド状態 のドキュメント
このメソッドは、ブロック選択操作を実行します。少なくとも 1 つのチャネルが選択された後、このセレクターの wakeup メソッドが呼び出された後、または現在のスレッドが中断されたときのいずれか早い方でのみ戻ります。
ドキュメントを理解しました 選択メソッドによってブロックされたスレッドは、待機するべきではありませんか? プロファイラーを実行すると、スレッドが待機状態ではなく実行モードになっていることがわかります。
私はそれを受け入れますが、スレッドが待機状態にある必要があることは言及されていませんが、シグナルディスパッチャースレッドがセレクターに登録されたチャネルのアクティビティに関する何らかの入力を提供するまで、それは私の仮定です。スレッドは待機状態である必要があります。
なぜ私の仮定が間違っている可能性があるのか について、いくつかの助けを提供してください。