我正在刷我的
Java,在练习中被问到这个问题.以下怎么会导致死锁?
private Object sync = new Object(); public void methodA() throws InterruptedException { synchronized(this.sync) { Thread.sleep(1000); } } public void methodB() throws InterruptedException { synchronized(this.sync) { this.methodA(); } }
我的猜测是,如果methodB在执行Thread.sleep函数时调用methodA,那么这两个方法会开始级联并导致无限期睡眠吗?
思考?