Ser*_*nov -1 java multithreading synchronized
为什么下面的代码不是死锁而且运行正常?
public class Concurrent {
public static void main(String[] args) {
Concurrent my = new Concurrent();
my.method1();
}
private synchronized void method1() {
System.out.println("method1");
method2();
}
private synchronized void method2() {
System.out.println("method2");
}
}
Output:
method1
method2
Run Code Online (Sandbox Code Playgroud)
当我调用method1()时,监视器被锁定.JVM或编译器无法调用method2(),因为此方法也由"my"对象的监视器同步.但它运作正常.
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |