說明
1、屬於Object類,物件呼叫wait方法後,釋放現在持有物件鎖定的線程,進入等待佇列。
2、對方呼叫notify從等待佇列的隨機選擇執行緒喚醒競爭對手的鎖定,對方呼叫notifyall等待佇列的所有執行緒喚醒競爭對手的鎖定。
實例
public class Demo { public static void main(String[] args) { Demo demo = new Demo(); Thread t1 = new Thread(() -> { synchronized (demo) { System.out.println("t1 start"); try { demo.wait(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("t1 end"); } }); Thread t2 = new Thread(() -> { synchronized (demo) { System.out.println("t2 start"); System.out.println("t2 end"); demo.notify(); } }); t1.start(); t2.start(); } }
以上是java中如何使用wait改變執行緒狀態的詳細內容。更多資訊請關注PHP中文網其他相關文章!