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>one</em> 3 つのことが起こるまで休止状態になります:<ul><li>他のスレッドがこのConditionの#signalメソッドを呼び出す場合、現在のスレッドは、再開するスレッドとして選択されます。 または <li>他のスレッドは、このConditionの#signalAll メソッドを呼び出します。または、<li>A > <em>purious wakeup</em>> が発生します。
</ul>
いずれの場合も、このメソッドが返される前に、現在のスレッドがこの条件に関連付けられているロックを再取得する必要があります。 スレッドが返されるときに、このロックを保持 <em>guaranteed</em> 。
このメソッドに入ったときに現在のスレッドの割り込み状態が設定されている場合、または待機中にスレッド#割り込みが中断された場合、通知されるまで待機し続けます。 最後にこのメソッドから戻ると、割り込まれた状態が設定されます。
<b>実装に関する考慮事項</b>
現在のスレッドは、このメソッドが呼び出されたときに、この Condition に関連付けられているロックを保持するものと見なされます。 これが当てはまるかどうか、そうでない場合の応答方法を判断するのは実装次第です。 通常、例外 ( IllegalMonitorStateException など) がスローされ、実装はその事実を文書化する必要があります。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。