Rumah  >  Artikel  >  Java  >  Bagaimana untuk menggunakan tunggu untuk menukar status benang dalam java

Bagaimana untuk menggunakan tunggu untuk menukar status benang dalam java

WBOY
WBOYke hadapan
2023-04-29 22:01:12941semak imbas

Penjelasan

1 Ia tergolong dalam kelas Objek Selepas objek memanggil kaedah tunggu, ia melepaskan benang yang sedang memegang kunci objek dan memasuki baris gilir menunggu.

2. Pihak yang satu lagi memanggil pemberitahuan untuk membangunkan kunci pesaing daripada urutan yang dipilih secara rawak dalam baris gilir menunggu, dan pihak yang satu lagi memanggil pemberitahuan kepada semua untuk membangunkan kunci pesaing daripada semua rangkaian dalam baris gilir menunggu.

Instance

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();
    }
}

Atas ialah kandungan terperinci Bagaimana untuk menggunakan tunggu untuk menukar status benang dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam