ホームページ >Java >&#&チュートリアル >JAVAにおけるスリープと待機の違い
wait() メソッドは、リソースを待っている他のスレッドがリソースを取得して実行できるように、現在のスレッド自体が同期リソースのロックを一時的に放棄できることを意味します。 notify() メソッドを呼び出すと、以前に wait() を呼び出したスレッドが待ち状態から解放され、同期リソースのロックの競合に参加して実行できるようになります。
sleep() メソッドはどこでも使用できますが、wait() メソッドは同期メソッドまたは同期ブロックでのみ使用できます (推奨学習: java コース )
sleep() は、スレッド クラス (Thread) のメソッドです。呼び出しにより、指定された時間スレッドが一時停止されますが、監視は維持され、オブジェクトのロックは解放されません。時間が経過すると自動的に再開されます;
wait() は Object のメソッドです。呼び出しはオブジェクトのロックを放棄し、待機キューに入ります。notify()/notifyAll までロック プールには入りません() は、指定されたスレッドまたはすべてのスレッドをウェイクアップするために呼び出されます。再度オブジェクト ロックが取得されるまでは入りません。実行ステータス;
Java におけるスレッドのライフサイクル図は次のとおりです。
以上がJAVAにおけるスリープと待機の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。