Java安全解锁读写锁?

标签 java locking

我有一个需要解锁的写锁对象,但我不确定它是否已锁定(它取决于相同的变量)。如果没有加锁,调用unlock会抛出异常。我目前正在做的是这样的:

if (fWriteLock.tryLock())
            fWriteLock.unlock();

还有没有更好的办法?

最佳答案

更清晰的方法是 if(fWriteLock.isHeldByCurrentThread()) ,但如果您不知道自己是否有锁,那么听起来您可能存在设计问题。

关于Java安全解锁读写锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33538144/

相关文章:

JavaFX : Rotated animation delay between cycles

java - 这种 HashMap 中对象的惰性初始化模式是线程安全的吗?

c++ - 所有用例的双重检查锁是否都已损坏?

sql - SELECT FOR UPDATE NOWAIT 与 Oracle SQL 的更新查询交互

mysql - 并发丢弃没有锁的mysql事务

Java - 静态 block 和线程同步问题 - 一个案例

java - getExtras() 返回 null

java - 尝试使用 java 发送邮件时获取 javax.mail.NoSuchProviderException

java - gradle 和 Android Studio 中调试和发布的不同依赖项

c# - 线程安全的内存