【问题标题】:ReadWriteLock in JavaJava中的读写锁
【发布时间】:2014-03-08 01:11:36
【问题描述】:

我想确定:

读取锁定:
如果一个线程在读锁内,则另一个线程可以进入该读锁或另一个读锁,但任何线程都可以进入写锁,而 1 个或多个线程在读锁内。

写锁:
如果线程在写锁中,则任何线程都可以进入写锁或读锁。

【问题讨论】:

  • 您确定与ReadWriteLock 的工作方式之间没有关联。
  • 为什么不呢???我认为我收到的回复与我说的不一样?

标签: java multithreading


【解决方案1】:

读锁:其他线程也可以持有读锁,但没有线程可以持有写锁。

写锁:最多被一个线程持有;没有线程可以持有读锁。

所以:你可以有以下之一:

  • 没有读者或作者
  • 一个或多个读者,没有作者
  • 没有读者,只有一位作者

【讨论】:

  • 如果“任何”的意思是“否”,那么你没看错(例如,“如果一个线程在写锁中 [then] no [other] 线程可以进入写锁或读锁”)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 2018-08-28
  • 2011-12-04
  • 2010-09-19
  • 2018-03-30
  • 2016-09-16
相关资源
最近更新 更多