Java における wait()、notify()、notifyAll() メソッドの重要性は何ですか?
wait()
notify()
notifyall()
スレッドは、Java の wait()、notify() 、および notifyAll() メソッドを通じて相互に通信できます。これらは、Object クラスで定義された 最終 メソッドであり、 同期された コンテキストからのみ呼び出すことができます。 wait() メソッドを使用すると、現在のスレッドは、別のスレッドがオブジェクトの notify() メソッドまたは notifyAll() メソッドを呼び出すまで待機します。 notify() メソッド このオブジェクトのモニターを待機している単一のスレッドを起動します。 notifyAll() メソッド オブジェクト モニターを待機しているすべてのスレッドを起動します。スレッドは、wait() メソッドの 1 つを呼び出して、オブジェクトのモニターを待機します。現在のスレッドがオブジェクト モニターの所有者ではない場合、これらのメソッドは IllegalMonitorStateException をスローする可能性があります。
wait() メソッドの構文
public final void wait() throws InterruptedException
ログイン後にコピー
notify() メソッドの構文
public final void notify()
ログイン後にコピー
NotifyAll() メソッドの構文
public final void notifyAll()<strong> </strong>
ログイン後にコピー
Example
public class WaitNotifyTest { private static final long SLEEP_INTERVAL<strong> </strong>= 3000; private boolean running = true; private Thread thread; public void start() { print("Inside start() method"); thread = new Thread(new Runnable() { @Override public void run() { print("Inside run() method"); try { Thread.sleep(SLEEP_INTERVAL); } catch(InterruptedException e) { Thread.currentThread().interrupt(); } synchronized(WaitNotifyTest.this) { running = false; WaitNotifyTest.this.notify(); } } }); thread.start(); } public void join() throws InterruptedException { print("Inside join() method"); synchronized(this) { while(running) { print("Waiting for the peer thread to finish."); wait(); //waiting, not running } print("Peer thread finished."); } } private void print(String s) { System.out.println(s); } public static void main(String[] args) throws InterruptedException { WaitNotifyTest test = new WaitNotifyTest(); test.start(); test.join(); } }
ログイン後にコピー
出力
Inside start() method Inside join() method Waiting for the peer thread to finish. Inside run() method Peer thread finished.
ログイン後にコピー
以上がJava における wait()、notify()、notifyAll() メソッドの重要性は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前
By DDD
Windows11 KB5054979の新しいものと更新の問題を修正する方法
2週間前
By DDD
Atomfallのクレーンコントロールキーカードを見つける場所
3週間前
By DDD
R.E.P.O.で節約説明した(そしてファイルを保存)
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンクリードシャドウ - 鍛冶屋を見つけて武器と鎧のカスタマイズを解除する方法
4週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7564
15


CakePHP チュートリアル
1386
52


Steamのアカウント名の形式は何ですか
86
11


NYTの接続はヒントと回答です
28
99

