gpt4 book ai didi

java - ReentrantReadWriteLock:ReadLock和WriteLock有什么区别?

转载 作者:行者123 更新时间:2023-12-02 03:01:00 26 4
gpt4 key购买 nike

我所知道的是:

  • ReadLockWriteLock以某种方式互相影响
  • WriteLock 就像同步
  • ReadLock 似乎无法单独工作

最佳答案

readLock.lock();

  • 这意味着如果任何其他线程正在写入(即持有写锁)然后停在这里,直到没有其他线程正在写。
  • 一旦授予锁定,其他线程将不允许写入(即获取写锁)直到锁被释放。
<小时/>

writeLock.lock();

  • 这意味着如果任何其他线程正在读取写入,则停止在这里等待,直到没有其他线程正在读取或写入。
  • 一旦授予锁,将不允许其他线程读取(即获取读或写锁)直到锁被释放。
<小时/>

将这些组合起来,您一次只能安排一个线程具有写入访问权限,但除线程正在写入外,任意多个读取器都可以同时读取。

换句话说。每次您想要从结构中读取时,请获取锁。每次您想要写入时,请获取写入锁定。这样,每当发生写入时,就没有人在读取(您可以想象您具有独占访问权限),但只要没有人在写入,就可以有许多读者同时读取。

关于java - ReentrantReadWriteLock:ReadLock和WriteLock有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57051049/

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