ICondition.AwaitUninterruptibly 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會讓目前的執行緒等待訊號。
[Android.Runtime.Register("awaitUninterruptibly", "()V", "GetAwaitUninterruptiblyHandler:Java.Util.Concurrent.Locks.IConditionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void AwaitUninterruptibly();
[<Android.Runtime.Register("awaitUninterruptibly", "()V", "GetAwaitUninterruptiblyHandler:Java.Util.Concurrent.Locks.IConditionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member AwaitUninterruptibly : unit -> unit
- 屬性
備註
會讓目前的執行緒等待訊號。
與此條件相關的鎖會原子釋放,當前執行緒因執行緒排程而被停用,並處於休眠狀態,直到<發生以下三種情況中的 em>1<>:<ul><li>其他執行緒呼叫#signal此方法Condition,且當前執行緒被選為被喚醒的執行緒;或 <li>其他執行緒#signalAll呼叫此Condition方法;或 <li>A ”<>EM 虛假喚醒</EM>“ 發生。
</ul>
在所有情況下,在此方法回傳之前,當前執行緒必須重新取得與此條件相關的鎖。 當執行緒回傳時,em <>保證<>會保留這個鎖。
如果當前執行緒進入此方法時已設定中斷狀態,或在等待時被 Thread#interrupt 中斷,則該執行緒將繼續等待直到收到通知。 當它最終從此方法返回時,中斷狀態仍會被設定。
<b>實施考<量/b>
當呼叫此方法時,假設目前執行緒持有與此 Condition 關聯的鎖。 是否如此,是否成立,以及如何回應,則由執行方決定。 通常會拋出一個例外(例如 IllegalMonitorStateException),實作必須記錄該事實。
Java 文件 java.util.concurrent.locks.Condition.awaitUninterruptibly()。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。