欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java wait和notify怎么用

方一強1年前7瀏覽0評論

Java中的wait()和notify()是兩個非常重要的方法,主要用于線程的同步選擇,本文將介紹它們的具體用法。

public class ThreadDemo {
public synchronized void waitThread() {
try {
System.out.println("線程A開始等待...");
wait();
System.out.println("線程A繼續執行...");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public synchronized void notifyThread() {
System.out.println("線程B開始執行...");
notify();
System.out.println("線程B執行完畢...");
}
}

代碼中,wait()方法和notify()方法都是在一個線程中使用,所以需要使用synchronized進行同步控制。

在waitThread()方法中,當線程調用wait()方法后,該線程會阻塞并釋放掉它持有的鎖,等待其他線程調用notify()方法。當其他線程執行了notify()方法后,該線程就會恢復執行。

在notifyThread()方法中,該線程執行了notify()方法后,會喚醒任意一個等待該對象鎖的線程,使它恢復執行。

使用wait()和notify()時,需要注意以下幾點:

  • wait()和notify()方法必須在同步方法或同步塊中使用。
  • notify()方法只能喚醒一個等待該對象鎖的線程,如果要喚醒所有等待線程,需要使用notifyAll()方法。
  • 當線程調用wait()方法時,它會釋放掉它持有的鎖,但不釋放對象鎖。