|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject
public class AbstractQueuedLongSynchronizer.ConditionObject
作为 Lock 实现基础的 AbstractQueuedLongSynchronizer 的条件实现。
此类的方法文档不是一个行为规范,而是从 Lock 和 Condition 用户的角度描述机制。此类的导出版本通常需要附带描述条件语义的文档,这些语义依赖关联 AbstractQueuedLongSynchronizer 的那些条件的语义。
此类是可序列化的,但所有字段都是瞬态的,因此序列化条件没有等待线程。
| 构造方法摘要 | |
|---|---|
AbstractQueuedLongSynchronizer.ConditionObject()
创建一个新的 ConditionObject 实例。 |
|
| 方法摘要 | |
|---|---|
void |
await()
实现可中断的条件等待。 |
boolean |
await(long time,
TimeUnit unit)
实现定时条件等待。 |
long |
awaitNanos(long nanosTimeout)
实现定时条件等待。 |
void |
awaitUninterruptibly()
实现不可中断的条件等待。 |
boolean |
awaitUntil(Date deadline)
实现绝对定时条件等待。 |
protected Collection<Thread> |
getWaitingThreads()
返回一个 collection,该 collection 包含那些正在此条件等待的线程。 |
protected int |
getWaitQueueLength()
返回正在此条件等待的线程估计数。 |
protected boolean |
hasWaiters()
查询是否有线程正在此条件等待。 |
void |
signal()
将等待时间最长的线程(如果有)从此条件的等待队列移动到拥有锁的等待队列。 |
void |
signalAll()
将所有线程从此条件的等待队列移动到拥有锁的等待队列。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public AbstractQueuedLongSynchronizer.ConditionObject()
| 方法详细信息 |
|---|
public final void signal()
Condition 中的 signalIllegalMonitorStateException - 如果 AbstractQueuedLongSynchronizer.isHeldExclusively() 返回 falsepublic final void signalAll()
Condition 中的 signalAllIllegalMonitorStateException - 如果 AbstractQueuedLongSynchronizer.isHeldExclusively() 返回 falsepublic final void awaitUninterruptibly()
AbstractQueuedLongSynchronizer.getState() 返回的锁定状态
AbstractQueuedLongSynchronizer.release(long),如果调用失败,则抛出 IllegalMonitorStateException。
AbstractQueuedLongSynchronizer.acquire(long) 的特定版本重新获取。
Condition 中的 awaitUninterruptibly
public final void await()
throws InterruptedException
AbstractQueuedLongSynchronizer.getState() 返回的锁定状态
AbstractQueuedLongSynchronizer.release(long),如果调用失败,则抛出 IllegalMonitorStateException。
AbstractQueuedLongSynchronizer.acquire(long) 的特定版本重新获取。
Condition 中的 awaitInterruptedException - 如果当前线程被中断(并且支持中断线程挂起)
public final long awaitNanos(long nanosTimeout)
throws InterruptedException
AbstractQueuedLongSynchronizer.getState() 返回的锁定状态
AbstractQueuedLongSynchronizer.release(long),如果调用失败,则抛出 IllegalMonitorStateException。
AbstractQueuedLongSynchronizer.acquire(long) 的特定版本重新获取。
Condition 中的 awaitNanosnanosTimeout - 等待的最长时间,以毫微秒为单位
nanosTimeout 值减去花费在等待此方法的返回结果的时间的估算。正值可以用作对此方法进行后续调用的参数,来完成等待所需时间结束。小于等于零的值表示没有剩余时间。
InterruptedException - 如果当前线程被中断(并且支持中断线程挂起)
public final boolean awaitUntil(Date deadline)
throws InterruptedException
AbstractQueuedLongSynchronizer.getState() 返回的锁定状态
AbstractQueuedLongSynchronizer.release(long),如果调用失败,则抛出 IllegalMonitorStateException。
AbstractQueuedLongSynchronizer.acquire(long) 的特定版本重新获取。
Condition 中的 awaitUntildeadline - 一直处于等待状态的绝对时间
false,否则返回 true
InterruptedException - 如果当前线程被中断(并且支持中断线程挂起)
public final boolean await(long time,
TimeUnit unit)
throws InterruptedException
AbstractQueuedLongSynchronizer.getState() 返回的锁定状态
AbstractQueuedLongSynchronizer.release(long),如果调用失败,则抛出 IllegalMonitorStateException。
AbstractQueuedLongSynchronizer.acquire(long) 的特定版本重新获取。
Condition 中的 awaittime - 最长等待时间unit - time 参数的时间单位
false,否则返回 true
InterruptedException - 如果当前线程被中断(并且支持中断线程挂起)protected final boolean hasWaiters()
AbstractQueuedLongSynchronizer.hasWaiters(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject)。
true 如果没有任何正在等待的线程
IllegalMonitorStateException - 如果 AbstractQueuedLongSynchronizer.isHeldExclusively() 返回 falseprotected final int getWaitQueueLength()
AbstractQueuedLongSynchronizer.getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject)。
IllegalMonitorStateException - 如果 AbstractQueuedLongSynchronizer.isHeldExclusively() 返回 falseprotected final Collection<Thread> getWaitingThreads()
AbstractQueuedLongSynchronizer.getWaitingThreads(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject)。
IllegalMonitorStateException - 如果 AbstractQueuedLongSynchronizer.isHeldExclusively() 返回 false
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。