最好的并发锁:一个WRITE和无限数量的READ

时间:2013-04-16 14:52:51

标签: java concurrency locks

Java中是否有任何Lock可以让我这样做?

  • 当时的一次WRITE操作
  • 无限次的READ操作(即使 获取了WRITE锁)
  • 可选但很棒:锁定超时 - 一段时间后释放锁定以避免永远死锁

1 个答案:

答案 0 :(得分:1)

听起来没有不会发生读取的情况。你真的需要读锁吗?如果没有,那么您应该只能使用带有1个许可的Semaphore来保护写入权限。如果您仍想跟踪有多少次读取而无法阻止任何读取,您可以始终使用AtomicInteger计算正在进行的读取次数。