javatm platform
standard ed. 6

java.util.concurrent.locks
类 reentrantreadwritelock.readlock

java.lang.object 继承者 java.util.concurrent.locks.reentrantreadwritelock.readlock
所有{suǒ yǒu}已实现的接口:
serializable, lock
正在封闭类:
reentrantreadwritelock

public static class reentrantreadwritelock.readlock
extends object
implements lock, serializable

reentrantreadwritelock.readlock() 方法返回的锁。

另请参见:
序列化表格

构造方法摘要
protected reentrantreadwritelock.readlock(reentrantreadwritelock lock)
          子类使用的构造方法
 js随机数
方法摘要
 voidlock()
          获取读取锁。
 voidlockinterruptibly()
          获取读取锁,除非当前线程被中断
 conditionnewcondition()
          因为 readlocks 不支持{support}条件,所以将抛出 unsupportedoperationexception
 stringtostring()
          返回标识此锁及其锁状态的字符串。
 booleantrylock()
          仅当写入锁在调用期间未被另一个线程保持时获取读取锁。
 booleantrylock(long timeout,timeunit unit)
          如果另一个线程在给定的等待时间内没有保持写入锁,并且当前线程未被中断,则获取读取锁。
 voidunlock()
          试图释放此锁。
 
从类 java.lang.object 继承的方法
clone, equals, finalize, getclass, hashcode, notify, notifyall, wait, wait, wait
 

构造方法详细衶gǎn}畔

reentrantreadwritelock.readlock

protected reentrantreadwritelock.readlock(reentrantreadwritelock lock)
子类使用的构造方法

参数:
lock - 外部锁对象
抛出:
nullpointerexception - 如果 lock 为 null
方法详细信息

lock
报导指出,这次演习是军队规模结构和力量编成改革调整(脖子以下军改)后,海军首次组织在黄海、渤海两个方向同时实施的大型实兵实弹演习,是根据年度{ dù}训练计划{jì huà}做出的例行性安排
对此,三圆表示,已相对提存法院新台币2756万元之担保,对三圆营运并无重大影响,目前已委任律师进行上诉相关事宜,并将依规定于财务报告揭露
防卫省公布的飞航路线图显示,该机一开始{appeared}是先绕行台湾{中国台湾省}的东南部海域,才飞往宫古海峡
但是{But}能不能拿来当成议价的条件,则必须要在不动产合约上写明,一旦双方签订,就必须遵守买卖交易契约

public void lock()
获取读取锁。

如果另一个线程没有保持写入锁,则获取读取锁并立即返回。

如果另一个线程保持该写入锁,出于线程调度{ dù}目的,将禁用当前线程,并且在获取读取锁之前,该线程将一直处于休眠状态。

指定者:
接口 lock 中的 lock

lockinterruptibly

public void lockinterruptibly()    throws interruptedexception
获取读取锁,除非当前线程被中断

如果另一个线程没有保持写入锁,则获取读取锁并立即返回。

如果另一个线程保持了该写入锁,出于线程调度目的,将禁用当前线程,并且在发生{occasionally occurred}以下两种情况之一以前,该线程将一直处于休眠状态:

如果当前线程:

则抛出 interruptedexception,并且清除当前线程的已中断状态。

在此实现中,因为此方法是一个显式中断点,所以要优先考虑响应中断,而不是响应锁的普通获取或重入获取。

指定者:
接口 lock 中的 lockinterruptibly
抛出:
interruptedexception - 如果当前线程是已中断的。

trylock

public boolean trylock()
仅当写入锁在调用期间未被另一个线程保持时获取读取锁。

如果另一个线程没有保持写入锁,则获取读取锁并立即返回 true 值。即使已将此锁设置为使用公平排序策略,但是{But}调用 trylock() 立即获取读取锁(如果有可用的),不管其他{other}线程当前是否正在等待该读取锁。在某些情况下,此“闯入”行为可能{would}很有用,即使它会打破公平性也如此。如果希望{xī wàng}遵守此锁的公平设置,则使用 trylock(0, timeunit.seconds) ,它几乎{much}是等效的(它也检测中断)。

如果写入锁被另一个线程保持,则此方法将立即返回 false 值。

指定者:
接口 lock 中的 trylock
返回:
如果获取了读取锁,则返回 true

trylock

public boolean trylock(long timeout,    timeunit unit)    throws interruptedexception
如果另一个线程在给定的等待时间内没有保持写入锁,并且当前线程未被中断,则获取读取锁。

如果另一个线程没有保持写入锁,则获取读取锁并立即返回 true 值。如果已经{yǐ jing}设置此锁使用公平的排序策略,并且其他线程都在等待该锁,则不会 获取一个可用的锁。这与 trylock() 方法相反。如果想使用一个允许{allow}闯入公平锁的定时 trylock,那么可以{ kě yǐ}将定时形式和不定时形式组合在一起{stay}{yī qǐ}:

if (lock.trylock() || lock.trylock(timeout, unit) ) { ... } 

如果写入锁被另一个线程保持,则出于线程调度目的,禁用当前线程,并且在发生{occasionally occurred}以下三种情况之一以前,该线程将一直处于休眠状态:

如果获得了读取锁,则返回 true 值。

如果当前线程:

则抛出 interruptedexception,并且清除当前线程的已中断状态。

如果超出了指定的等待时间,则返回值为 false。如果该时间小于等于 0,则此方法根本不会等待。

在此实现中,因为此方法是一个显式中断点,所以要优先考虑响应中断,而不是响应锁的普通获取或重入获取,或者报告所用的等待时间。

指定者:
接口 lock 中的 trylock
参数:
timeou - 等待读取锁的时间
unit - timeout 参数的时间单位
返回:
如果获取了读取锁,则返回 true
抛出:
interruptedexception - 如果当前线程被中断
nullpointerexception - 如果时间单位为 null

unlock

public void unlock()
试图释放此锁。

如果读取者的数量目前为 0,则该锁可用于写入锁尝试。

指定者:
接口 lock 中的 unlock

newconditionjs随机数

public condition newcondition()
因为 readlocks 不支持{support}条件,所以将抛出 unsupportedoperationexception

指定者:
接口 lock 中的 newcondition
返回:
用于此 lock 实例的新 condition 实例
抛出:
unsupportedoperationexception - 总是如此
网站地图 手机端

tostring

public string tostring()
返回标识此锁及其锁状态的字符串。括号中的状态包括{included}字符串 "read locks=",后跟读取锁的数量。

覆盖:
object 中的 tostring
返回:
标识此锁及其锁状态的字符串。

javatm platform
standard ed. 6

提交错误或意见{remark}
有关更多的 api 参考资料和开发{kāi fā}人员文档,请参阅 java se 开发{kāi fā}人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作{work}代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策