Maison  >  Article  >  Java  >  Quel moniteur spécial existe-t-il en Java ?

Quel moniteur spécial existe-t-il en Java ?

WBOY
WBOYavant
2023-05-17 08:58:441331parcourir

Explication

1. ce moniteur : synchronisé sur une méthode membre est ce moniteur, ce qui équivaut à utiliser synchronisé(this) dans une méthode moniteur de classe : synchronisé sur une méthode statique est un moniteur de classe, équivalent à. en utilisant synchronisé(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();
    }
}
dans une méthode statique

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer