gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:54:21 26 4
gpt4 key购买 nike

我知道的是:

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

最佳答案

readLock.lock();

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

writeLock.lock();

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

结合这些,您可以一次只安排一个线程具有写访问权限,但您可以同时读取任意数量的读取器,除非线程正在写入。

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

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

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