假设 Thread-1 在对象上同步
synchronize(object){
//statement1
//statement2
//statement3
}
如果线程 1 在语句 2 上崩溃,对象上的锁会发生什么情况,发生这种情况时 JVM 会自动释放线程 1 上的锁吗?因为否则,如果 Thread-2 等待对象上的锁被释放并且 Thread-1 崩溃,那么 Thread-2 将永远等待。
它定义在JLS #14.19:
synchronized ( Expression ) Block
如果该块的执行由于任何原因突然完成,则监视器将被解锁,并且同步语句由于相同原因突然完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)