| 
 | 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。