ホームページ  >  記事  >  Java  >  Javaにはどのような特別なモニターがありますか?

Javaにはどのような特別なモニターがありますか?

WBOY
WBOY転載
2023-05-17 08:58:441405ブラウズ

説明

1. このモニター: メンバーメソッドで同期されているのはこのモニターであり、メソッド

2で synchronized(this) を使用するのと同じです。クラス モニター: 静的メソッドでの同期はクラス モニターであり、静的メソッドで synchronized(XXX.class)

Instance

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にはどのような特別なモニターがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。