ホームページ >Java >&#&チュートリアル >Java スレッド制御の「wait()」と「sleep()」の違いは何ですか?
Java スレッドの "wait()" と "sleep()" の違いを理解する
Java では "wait()" 「sleep()」と「sleep()」は、スレッドの実行を制御するために使用される 2 つの主要なメソッドです。どちらもスレッドの実行を一時停止するという目的を果たしますが、操作とスコープが大きく異なります。
wait() と sleep()
CPU 使用率
一般的な考えに反して、「wait()」と「sleep」の両方が実行されます。 ()」は CPU サイクルを消費する可能性があります。 「wait()」を待機しているスレッドはスリープ中も、モニター ロックを保持したままになります。これは、他のスレッドがオブジェクトへのアクセスを常に競合し、CPU リソースを消費する必要があることを意味します。一方、「sleep()」はスレッドのロックを解放し、他のスレッドが競合することなく実行できるようにします。
両方のメソッドの理論的根拠
Java に「wait()」と「sleep()」の両方があるのは、それぞれの異なる役割とさまざまな機能への適合性に由来します。
低レベル実装
下位レベルでは、「wait()」と「sleep()」は異なるメソッドを使用して実装されます。
以上がJava スレッド制御の「wait()」と「sleep()」の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。