Javaのwaitメソッドの使い方

Javaのwait()メソッドはObjectクラスのメソッドで、他のスレッドがnotify()やnotifyAll()メソッドで呼び出すまで、現在のスレッドを待機状態にします。wait()メソッドは通常、synchronizedキーワードと併用されます。

wait()メソッドは2つのオーバーロード形式があります。

  1. wait():現在のスレッドが待機状態となり、他のスレッドがnotify()またはnotifyAll()メソッドを呼び出すまで、待機を続けます。wait()メソッドは、synchronizedブロック内で呼び出す必要があります。

ネイティブな日本語で文章を言い換えてください。1つのオプションのみが必要です: 例コード:

synchronized(obj){
try{
obj.wait();
}catch(InterruptedException e){
e.printStackTrace();
}
}
  1. wait(long timeout) : 現在のスレッドは待機状態に入り、指定された時間が経過すると自動的に復帰します。指定された時間内に他のスレッドがnotify()またはnotifyAll()メソッドを呼び出さなかった場合、現在のスレッドは自動的に復帰します。

サンプルコード:

synchronized(obj){
try{
obj.wait(1000); // 等待1秒钟
}catch(InterruptedException e){
e.printStackTrace();
}
}

注意事項

  1. wait()メソッドはsynchronizedブロック内で呼び出さないと、IllegalMonitorStateException例外がスローされます。
  2. wait()メソッドは、現在のオブジェクトのロックを解放し、他のスレッドがsynchronizedブロックに入ることができるようにします。
  3. wait()メソッドは、偽のウェイクアップを避けるためにループ内で使用できます。

上記はwait()メソッドの基本的な使用方法であり、具体的な使い方は状況に応じて決定する必要があります。

bannerAds