共用方式為


ReentrantLock.NewCondition 方法

定義

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() waitObject#notify notifyObject#notifyAll notifyAll) 相同的使用方式Object

<ul>

<li>如果呼叫任何 ConditionCondition#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 屬性授權中所述的詞彙使用。

適用於