java - 如果当前线程崩溃,读写锁会发生什么

标签 java multithreading reentrantreadwritelock

正如标题所说,好奇当当前线程崩溃时读写锁会发生什么。

 readlock.lock();
 try {
    ...
 } finally {
   readlock.unlock();
 }

我们绝对可以在finally block 中解锁以防止任何中断。但是如果readLock.lock()语句崩溃了,锁会自动释放吗?

谢谢

最佳答案

  • 如果readlock.lock抛出异常。
  • 锁定操作失败。
  • 未获取任何锁。
  • 无需解锁

如果在readlock.lock期间抛出运行时异常,但正在获取锁。 lock 作者错误地实现了它。您可以为作者提交错误报告:)

关于java - 如果当前线程崩溃,读写锁会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982211/

相关文章:

java - 有没有办法在 Java 中找出映射的驱动器?

c++ - 将结构从一个进程转移到另一个进程的最佳方法?

java - 从写入器向读取器发送信号时正确使用 ReentrantReadWriteLock?

java将字符串与英语以外的语言进行比较

java - 哈希表中自定义键的实现

C# MD5 哈希与 Java/PHP MD5 哈希不匹配

c# - 如何为 Unity3D 编写线程安全的 C# 代码?

multithreading - iOS - 默认在哪个队列选择器上运行?

java - 使用 ReentrantReadWriteLock 和 boolean 标志

java - 写时读锁