Java の wait() メソッドと join() メソッドの違いは、これらが異なる Java パッケージに存在することです。wait() メソッドはスレッド間通信に使用され、待機状態にあるスレッドを開始できます。 ; join() メソッド 複数のスレッド間で順序付けを追加するために使用され、強制される待機を解消することはできません。
java の wait() メソッド
wait() メソッドの機能は次のとおりです。現在のスレッドを待機させる 待機状態に入るには、wait() を、notify() メソッドおよび NotifyAll() メソッドと一緒に使用します。
notify() メソッドとnotifyAll() メソッドは、待機中のスレッドを起動するために使用されます。notify() メソッド: 単一のスレッドを起動し、notifyAll() メソッド: すべてのスレッドを起動します。
java の join() メソッド
join() メソッドは、このスレッドが終了して実行が完了するまで待機します。その主な機能は同期であり、スレッド間の実行を「並列」から「直列」に変更します。
つまり、スレッド A でスレッド B の join() メソッドを呼び出すと、スレッドの実行プロセスが変更されます。スレッド A は、実行を続ける前に、スレッド B の実行が完了するまで待機する必要があります。
wait() メソッドと join() メソッドの類似点
1. wait() メソッドと join() メソッドは両方とも同じです。一時停止に使用 Java の現在のスレッドは待機状態になります。
2. Java では、interrupt() メソッドを呼び出して、wait() および join() のスレッド状態を中断できます。
3、wait() と join() はすべて非静的メソッドです。
4、wait() と join() はすべて Java でオーバーロードされています。 wait() と join() にはタイムアウトがありませんが、タイムアウト パラメーターを受け入れます。
wait() メソッドと join() メソッドは似ていますが、wait() メソッドと join() メソッドにはまだ違いがあります。
#wait() メソッドと join() メソッドの違い
1 、異なる Java パッケージに存在します(最も明らかな違い)
wait() メソッドは java.lang.Object クラスで宣言する必要がありますが、join() メソッドは Java にあります。 lang.Thread クラスで宣言されます。
2. さまざまな使用目的
wait() メソッドはスレッド間通信に使用され、join() メソッドは複数のスレッド間のソートを追加するために使用されます。最初のスレッドが実行を開始する前に、2 つのスレッドが実行を完了する必要があります。
3. スレッドの起動の違い
notify() と NoticeAll( を使用して、wait() メソッドを通じて待機状態に入るスレッドを開始できます。 ) メソッド。ただし、接続を中断したスレッドが実行を終了しない限り、join() メソッドによって課された待機を解除することはできません。
4. 同期コンテキスト (最も重要な違い)
wait() メソッドは、同期された (同期された) コンテキスト、つまり同期されたブロックまたはそれ以外の場合は、IllegalMonitorStateException がスローされます。
ただし、Java では、同期コンテキストの有無にかかわらず、join() メソッドを呼び出すことができます。
要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。
以上がJavaのwait()メソッドとjoin()メソッドの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。