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)
instancepublic 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!