ReentrantLock.NewCondition 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳 Condition
回實例,以便與這個 Lock
實例搭配使用。
[Android.Runtime.Register("newCondition", "()Ljava/util/concurrent/locks/Condition;", "GetNewConditionHandler")]
public virtual Java.Util.Concurrent.Locks.ICondition? NewCondition ();
[<Android.Runtime.Register("newCondition", "()Ljava/util/concurrent/locks/Condition;", "GetNewConditionHandler")>]
abstract member NewCondition : unit -> Java.Util.Concurrent.Locks.ICondition
override this.NewCondition : unit -> Java.Util.Concurrent.Locks.ICondition
傳回
Condition 物件
實作
- 屬性
備註
傳 Condition
回實例,以便與這個 Lock
實例搭配使用。
當與內建監視器鎖定搭配使用時,傳Condition
回的實例支援與監視方法 (Object#wait() wait
、 Object#notify notify
和 Object#notifyAll notifyAll
) 相同的使用方式Object
。
<ul>
<li>如果呼叫任何 Condition
Condition#await() 等候或 Condition#signal signalling 方法時,不會保留此鎖定,則會 IllegalMonitorStateException
擲回 。
<li>當條件條件#await() 等候方法被釋放時,在它們傳回之前,會重新取得鎖定,並將鎖定保留計數還原至呼叫方法時的狀態。
<li>如果線程在等候時中斷 Thread#interrupt,則等候將會終止, InterruptedException
將會擲回 ,且線程中斷的狀態將會清除。
<li>等候的線程會依 FIFO 順序發出訊號。
<li>從等候方法傳回之線程的鎖定重新取得順序,與最初取得鎖定的線程的順序相同,這是未指定的預設案例,但對於 <em fair</em>> 鎖定,則有利於那些已等候最長的線程。
</ul>
的 java.util.concurrent.locks.ReentrantLock.newCondition()
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。