語言

ICondition.AwaitUninterruptibly 方法

定義

會讓目前的執行緒等待訊號。

[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 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於