【问题标题】:Reentrant Read/Write locks in eclipse have two lock/unlock methodseclipse中的可重入读/写锁有两种锁定/解锁方法
【发布时间】:2014-04-14 20:01:58
【问题描述】:

我注意到,在对 ReentrantReadWrite 锁调用 lock/unlock 时,我会提示我使用两种 lock 和 unlock 方法。

例如,在 WriteLock 中,我有一个带有 -75% 的 Lock() 和另一个没有 % 的 Lock()。两者都有相同的文档。我试图在网上找到原因,但找不到任何解释。这只是eclipse中的一个错误吗?

【问题讨论】:

  • 我相信这只是eclipse的预测,它根据使用的相关性对方法进行排名。
  • 奇怪的是,ReadLock 是 25%,unlock 都是 50%。因此,我试图了解这是对写入与读取的预测(这听起来很奇怪,因为您执行了更多读取),还是其他原因
  • 这只是 Eclipse 试图预测您将使用什么来方便您,就像微软的智能感知一样。

标签: java eclipse multithreading reentrantlock


【解决方案1】:

您可能需要仔细检查这些方法名称。

ReentrantReadWriteLock 没有Lock 方法。它有public ReentrantReadWriteLock.ReadLock readLock()public ReentrantReadWriteLock.WriteLock writeLock()。它们都实现了Lock 接口并具有lock()、lockInterruptibly()、unlock() 和trylock() 方法。

WriteLock 有一些额外的方法,因为写锁通常是独占的。

【讨论】:

  • Powelord,你说得对,我应该在我的问题中包含这个,但即使对于 WriteLock,两个 writelocks 调用也相差这个百分比。我猜正如 rpg711 所说,这是一个预测。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多