在Java中,wait()方法是Object類的一個方法,用于使當前線程進入等待狀態,直到其他線程調用notify()或notifyAll()方法喚醒它。wait()方法通常與synchronized關鍵字一起使用。
wait()方法有兩種重載形式:
示例代碼:
synchronized(obj){
try{
obj.wait();
}catch(InterruptedException e){
e.printStackTrace();
}
}
示例代碼:
synchronized(obj){
try{
obj.wait(1000); // 等待1秒鐘
}catch(InterruptedException e){
e.printStackTrace();
}
}
注意事項:
wait()方法必須在synchronized塊中進行調用,否則會拋出IllegalMonitorStateException異常。
wait()方法會釋放當前對象的鎖,允許其他線程進入synchronized塊。
可以在循環中使用wait()方法,以防止虛假喚醒(spurious wakeup)。
以上是wait()方法的基本使用方法,具體如何使用要根據實際情況來決定。