当线程在同步块内崩溃时,锁会发生什么情况?

罗宾·巴贾(Robin Bajaj):

可以说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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在同步方法内部的线程中的同步块会发生什么情况?

当线程进入Java中的同步块/方法时会发生什么情况

从C中main返回时,正在运行的线程会发生什么情况?

dlclose时,共享库产生的线程会发生什么情况

当原始类超出范围时,线程会发生什么情况

等待加入条件变量的线程会发生什么情况?

如果线程在同步块内引发异常会发生什么

在提示中键入“ unset *”时,会发生什么情况?

硬盘突然关闭时,磁头会发生什么情况?

如果线程池已满时我的线程睡眠时间大于保持活动秒数,会发生什么情况?

Java:从同步块启动新线程时会发生什么?

如果在ThreadPool线程正在写入文件时关闭应用程序会发生什么情况?

Java字节码中有多个静态块会发生什么情况?

当我们在方法内部创建锁(同步块)对象时会发生什么?

堆内存泄漏期间Java线程会发生什么情况?

如果我使用JNI从C的多个线程中调用Java函数,会发生什么情况?

如果线程执行的函子被移动,会发生什么情况?

将方法作为目标执行的线程会发生什么情况

结束后在进程中启动的线程会发生什么情况

从针对另一个调度队列的主线程发出dispatch_sync时,主队列/主线程会发生什么情况?

在什么情况下,空的同步块可以实现正确的线程语义?

如果我在某个组件内多次渲染createGlobalStyle组件会发生什么情况

当我在shell中执行文件时,会发生什么情况?

如果子进程在阅读时无法关闭写入管道,会发生什么情况?

暂停时被“活动”实例化的对象会发生什么情况

重新分区HDD时标记为坏的扇区会发生什么情况?

网络突然终止时,TCP连接会发生什么情况

如果在JVM仍在使用Jar时更新了Jar,会发生什么情况?

将限定符添加到布局或值时,会发生什么情况?