【问题标题】:Java: Difference between ReadWriteLock and ReentrantReadWriteLockJava:ReadWriteLock 和 ReentrantReadWriteLock 之间的区别
【发布时间】:2016-06-20 13:23:50
【问题描述】:

我有一些数据结构,我想在其中专门锁定写入访问,但启用并行读取访问。

我进行了一些搜索,发现了 ReadWriteLockReentrantReadWriteLock 类——它们都提供了读锁和写锁。

我不明白它们之间有什么区别。有人可以解释一下吗?

【问题讨论】:

  • 首先,一个是接口,另一个是具体类...
  • @assylias,谢谢。我简单地查看了 Javadoc 的标题,并错过了写在顶部的 Interface 关键字。为这个问题感到愚蠢......无论如何,我希望这个线程可以在未来为一些人节省一些时间

标签: java multithreading reentrantreadwritelock readwritelock


【解决方案1】:

我觉得我的问题很愚蠢 - 答案很简单...不过我希望我会为其他人节省时间..

ReadWriteLock 只是一个接口,而ReentrantReadWriteLock 是它的一个实现..

所以您实际上不能使用“ReadWriteLock 的实例”...

这就是全部答案...

【讨论】:

  • 好吧,你还是应该明白 Reentrant 是什么意思。
  • 我猜是说如果是阅读,那么多个线程可以访问,如果是修改,那么只有修改线程可以访问..对吧?这是关于共享锁和排他锁
  • 不,那是读写部分。例如,内置的 Java 锁(synchronized 关键字)是可重入的,而不是读写锁。看看我在其他评论中链接的内容en.wikipedia.org/wiki/Reentrant_mutex
  • @Holger 你应该知道我们需要等待 2 天才能接受我们自己的答案
猜你喜欢
  • 1970-01-01
  • 2021-12-25
  • 2020-05-10
  • 2014-09-20
  • 2010-10-28
  • 2015-10-04
  • 2012-08-12
  • 2011-02-18
  • 2019-12-21
相关资源
最近更新 更多