【发布时间】:2013-03-04 14:34:41
【问题描述】:
为什么下面的代码不会导致死锁?我的意思是在我调用 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
【问题讨论】:
-
是的,问题是一样的,但上下文却完全不同。这个问题一直在问死锁,另一个是关于线程安全的。
标签: java synchronized