为什么下面的代码不会导致死锁?我的意思是在我调用getNumber(。)之后,类Test的对象应该被锁定,所以我不应该能够访问getNumber2(。)。调用同步方法的同步方法,两个同一对象
class Test() {
synchronized int getNumber(int i){
return getNumber2(i);
}
synchronized int getNumber2(int i) {
return i;
}
public static void main(String[] args) {
System.out.println((new Test()).getNumber(100));
}
}
输出:
100
类似的文章到这:http://stackoverflow.com/questions/5798637/is-it-safe-to-call-a-synchronized-method-from-another-synchronized-method – Walls 2013-03-04 14:37:45
是的问题是相同的,但上下文有很大不同。在这个问题上,它一直在问关于死锁,另一个关于线程安全。 – Lovera 2017-09-25 14:27:42