Tho*_*hom 28 java recursion synchronized
这个问题的关键是要说明Java没有像我预期的那样工作.
您希望以下代码如何表现?
public class SynchTester {
private static SynchTester synchTester;
public synchronized static SynchTester getSynchTester(){
if(synchTester==null){
synchTester = new SynchTester();
}
return synchTester;
}
private SynchTester() {
SynchTester myTester = getSynchTester();
}
public static void main(String[] args) {
SynchTester tester = SynchTester.getSynchTester();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望它挂起一个死锁等待递归完成,但它会抛出StackOverflow.显然,synchronized不会阻止访问同一个线程.
这是一个错误吗?
归档时间: |
|
查看次数: |
11397 次 |
最近记录: |