gpt4 book ai didi

java - 在 ReentrantReadWriteLock 中是否有 WriteLock 优先于 ReadLock

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:38 25 4
gpt4 key购买 nike

我读过 java 文档:ReentrantReadWriteLock

而且我没有看到 writeLock 比 readLock 有任何优先级

但我也读过这样的主题:Are read and write locks in ReentrantReadWriteLock somehow related?
我在两个答案中都看到了以下短语:

if lock is held by readers and thread request write lock no morereaders are allowed to acquire read lock until thread which hasacquired write lock release it.


Prefers writers over readers. That is, if a writer is waiting on thelock, no new readers from other thread are allowed to access theresource. Existing readers can continue to use the resource until theyrelease the lock. This prevents so-called "writer starvation".

这些短语听起来很有意义,看起来我已经在其他地方读过。

但显然与java doc是矛盾的

它在最新的 JDK 中有变化吗?它仍然有效吗?

如何防止作家饥饿?

最佳答案

ReentrantReadWriteLock 描述了两种操作模式:公平模式和非公平模式。您引用的选择似乎旨在描述公平模式。我不会说两者显然是矛盾的。但是,我可以看到第一个中不精确的措辞(“不允许更多读者”)可能会导致混淆。我怀疑“更多读者”是指来自其他线程的新读者,而不是来自同一线程的额外重入读取,有些人可能会将其解释为同一读者。如果以这种方式解释,那么它们似乎与 JavaDoc 一致。

关于java - 在 ReentrantReadWriteLock 中是否有 WriteLock 优先于 ReadLock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58395939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com