|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。