Javaで複数の非ブロッキングソケットを処理するために、ある種のイベントループを実行しています。問題は、ループをそのままにしておくと、コア全体が使用されることです。(たとえば、クアッドコアがあり、プログラムを起動するたびに、CPUは毎回25%にジャンプします。)
Thread.sleep()を使用してプロセッサの使用を遅くすることができることは知っていますが、それを行う適切な方法があるかどうか疑問に思っていました。Thread.sleep(1)がイベントループを制限しているように感じます。
だから私の質問は、どうすればいいですか?それを行う適切な方法はありますか?スレッドの優先度を下げる必要がありますか?Thread.sleep(0、someNanosecondsAmount)を使用する必要がありますか?