語言

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 實例以供該 Lock 實例使用。

回傳Condition的實例在內建監視器鎖使用時,支援與監控方法Object相同的使用Object#wait() wait方式(, Object#notify notify, 和 Object#notifyAll notifyAll)。

<UL>

<li>如果在呼叫任何 ConditionCondition#await() 等待或 Condition#signal 訊號方法時,未保持此鎖,則會拋出 an IllegalMonitorStateException 鍵。

<當>呼叫條件 Condition#await() 等待方法時,鎖會被釋放,在它們返回前,會重新取得鎖並將鎖保持計數恢復到呼叫該方法時的狀態。

<li>如果執行緒在等待時被 Thread#interrupted 中斷,則等待會終止,會拋出 an InterruptedException 並清除該執行緒的中斷狀態。

<li>等待執行緒依 FIFO 順序進行訊號。

<li>從等待方法返回的執行緒的鎖重新取得順序與最初取得鎖的執行緒相同,預設情況下未指定,但對 <em>而言,公平</em> 鎖偏好等待時間最長的執行緒。

</ul>

Java 文件 java.util.concurrent.locks.ReentrantLock.newCondition()。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於