问题遇到的现象和发生背景
如题,当使用同一个对象锁时,理论上来说应该会进行锁的竞争,那为什么嵌套synchronized的时候不会发生死锁?
问题相关代码,请勿粘贴截图
Object o = new Object();
Thread thread = new Thread(() -> {
synchronized (o){
System.out.println("1");
synchronized (o){
System.out.println("2");
}
System.out.println("3");
}
});
thread.start();
运行结果及报错内容
1
2
3