首頁  >  文章  >  Java  >  java中如何使用wait改變執行緒狀態

java中如何使用wait改變執行緒狀態

WBOY
WBOY轉載
2023-04-29 22:01:12941瀏覽

說明

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中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除