可以说Thread-1在对象上同步
synchronize(object){
//statement1
//statement2
//statement3
}
如果Thread-1在statement2上崩溃,对象上的锁会发生什么情况,JVM会在这种情况下自动释放Thread-1上的锁吗?因为否则,如果Thread-2想要释放对象上的锁定并且Thread-1崩溃,则Thread-2将永远等待。
它在JLS#14.19中定义:
synchronized ( Expression ) Block
如果由于某种原因突然终止了Block的执行,则监视器将被解锁,并且由于相同的原因,synced语句也会突然完成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句