首頁 >Java >java教程 >java有什麼特殊monitor

java有什麼特殊monitor

WBOY
WBOY轉載
2023-05-17 08:58:441449瀏覽

說明

1、this monitor:在成員方法上的synchronized,就是this monitor,等價於在方法中使用synchronized(this)

2 、class monitor:在靜態方法上的synchronized,就是class monitor,等價於在靜態方法中使用synchronized(XXX.class)

實例

public class Main {
    public synchronized void method1(){
        System.out.println(Thread.currentThread().getName()+" method1");
        try{
            TimeUnit.MINUTES.sleep(5);
        }catch (InterruptedException e){
            e.printStackTrace();
        }
    }
 
    public synchronized void method2(){
        System.out.println(Thread.currentThread().getName()+" method2");
        try{
            TimeUnit.MINUTES.sleep(5);
        }catch (InterruptedException e){
            e.printStackTrace();
        }
    }
 
    public static void main(String[] args) throws InterruptedException {
        Main m = new Main();
        new Thread(m::method1).start();
        new Thread(m::method2).start();
    }
}

以上是java有什麼特殊monitor的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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