ホームページ  >  記事  >  Java  >  JAVAにおけるスリープと待機の違い

JAVAにおけるスリープと待機の違い

(*-*)浩
(*-*)浩オリジナル
2019-12-26 11:53:482574ブラウズ

JAVAにおけるスリープと待機の違い

wait() メソッドは、リソースを待っている他のスレッドがリソースを取得して実行できるように、現在のスレッド自体が同期リソースのロックを一時的に放棄できることを意味します。 notify() メソッドを呼び出すと、以前に wait() を呼び出したスレッドが待ち状態から解放され、同期リソースのロックの競合に参加して実行できるようになります。

sleep() メソッドはどこでも使用できますが、wait() メソッドは同期メソッドまたは同期ブロックでのみ使用できます (推奨学習: java コース )

sleep() は、スレッド クラス (Thread) のメソッドです。呼び出しにより、指定された時間スレッドが一時停止されますが、監視は維持され、オブジェクトのロックは解放されません。時間が経過すると自動的に再開されます;

wait() は Object のメソッドです。呼び出しはオブジェクトのロックを放棄し、待機キューに入ります。notify()/notifyAll までロック プールには入りません() は、指定されたスレッドまたはすべてのスレッドをウェイクアップするために呼び出されます。再度オブジェクト ロックが取得されるまでは入りません。実行ステータス;

Java におけるスレッドのライフサイクル図は次のとおりです。

JAVAにおけるスリープと待機の違い

以上がJAVAにおけるスリープと待機の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。