CyclicBarrier.Await メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Await() |
すべての #getParties パーティがこのバリアで呼び出 |
Await(Int64, TimeUnit) |
すべての #getParties パーティがこのバリアで呼び出されるか |
Await()
すべての #getParties パーティがこのバリアで呼び出 await
されるまで待機します。
[Android.Runtime.Register("await", "()I", "GetAwaitHandler")]
public virtual int Await ();
[<Android.Runtime.Register("await", "()I", "GetAwaitHandler")>]
abstract member Await : unit -> int
override this.Await : unit -> int
戻り値
現在のスレッドの到着インデックス。index getParties() - 1
は最初に到着したことを示し、0 は最後に到着したことを示します
- 属性
例外
待機中に現在のスレッドが中断された場合
現在のスレッドが待機している間に 別 のスレッドが中断またはタイムアウトした場合、またはバリアがリセットされた場合、または呼び出されたときに await
バリアが切断された場合、または例外が原因でバリア アクション (存在する場合) が失敗した場合
注釈
すべての #getParties パーティがこのバリアで呼び出 await
されるまで待機します。
現在のスレッドが最後に到着しない場合は、スレッド スケジューリングの目的で無効になり、次のいずれかが発生するまで休止状態になります。ul>li 最後のスレッドが到着するか、<li>他のスレッドのスレッド#割り込みによって現在のスレッドが中断されるか、<li>他のスレッドのスレッドスレッド#割り込みが他の待機スレッドの 1 つを中断するか、li <>バリアを待機している間に他のスレッドがタイムアウトするか、li <>他のスレッドの一部がタイムアウトします。><<は、#reset
このバリアで を呼び出します。 </ul>
現在のスレッド: <ul><li>がこのメソッドへのエントリ時に割り込み状態を設定している場合、または <li>が /ul> の<待機中に Thread#interrupt が中断された場合は、InterruptedException
がスローされ、現在のスレッドの中断状態がクリアされます。
いずれかのスレッドが待機している間にバリアがある #reset
場合、または が呼び出されたときに await
バリア #isBroken が壊れている場合、または任意のスレッドが待機している間にバリアが壊れている場合 BrokenBarrierException
は、 がスローされます。
待機中にスレッドが Thread#割り込み中断された場合、他のすべての待機スレッドがスロー BrokenBarrierException
され、バリアは壊れた状態になります。
現在のスレッドが最後に到達したスレッドであり、null 以外のバリア アクションがコンストラクターで指定された場合、現在のスレッドはアクションを実行してから、他のスレッドを続行できるようにします。 バリア アクション中に例外が発生した場合、その例外は現在のスレッドに反映され、バリアは壊れた状態になります。
の Java ドキュメント java.util.concurrent.CyclicBarrier.await()
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
Await(Int64, TimeUnit)
すべての #getParties パーティがこのバリアで呼び出されるか await
、指定された待機時間が経過するまで待機します。
[Android.Runtime.Register("await", "(JLjava/util/concurrent/TimeUnit;)I", "GetAwait_JLjava_util_concurrent_TimeUnit_Handler")]
public virtual int Await (long timeout, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("await", "(JLjava/util/concurrent/TimeUnit;)I", "GetAwait_JLjava_util_concurrent_TimeUnit_Handler")>]
abstract member Await : int64 * Java.Util.Concurrent.TimeUnit -> int
override this.Await : int64 * Java.Util.Concurrent.TimeUnit -> int
パラメーター
- timeout
- Int64
障壁を待つ時間
- unit
- TimeUnit
タイムアウト パラメーターの時間単位
戻り値
現在のスレッドの到着インデックス。index getParties() - 1
は最初に到着したことを示し、0 は最後に到着したことを示します
- 属性
例外
待機中に現在のスレッドが中断された場合
指定したタイムアウトが経過した場合
現在のスレッドが待機している間に 別 のスレッドが中断またはタイムアウトした場合、またはバリアがリセットされた場合、または呼び出されたときに await
バリアが切断された場合、または例外が原因でバリア アクション (存在する場合) が失敗した場合
注釈
すべての #getParties パーティがこのバリアで呼び出されるか await
、指定された待機時間が経過するまで待機します。
現在のスレッドが最後に到着しない場合は、スレッド スケジューリングのために無効になり、次のいずれかが発生するまで休止状態になります。ul>li 最後のスレッドが到着するか、li <>指定されたタイムアウトが経過するか、<li>他のスレッドのスレッドスレッド#割り込みが現在のスレッドを中断するか、li <>他のスレッドのスレッド#割り込みによって他の待機スレッドの 1 つが中断されます。><><<バリアの待機中に他のスレッドがタイムアウトする場合があります。または <li>このバリアで他のスレッドが呼び出されます#reset
。 </ul>
現在のスレッド: <ul><li>がこのメソッドへのエントリ時に割り込み状態を設定している場合、または <li>が /ul> の<待機中に Thread#interrupt が中断された場合は、InterruptedException
がスローされ、現在のスレッドの中断状態がクリアされます。
指定した待機時間が経過すると、 TimeoutException
がスローされます。 時刻が 0 以下の場合、メソッドはまったく待機しません。
いずれかのスレッドが待機している間にバリアがある #reset
場合、または が呼び出されたときに await
バリア #isBroken が壊れている場合、または任意のスレッドが待機している間にバリアが壊れている場合 BrokenBarrierException
は、 がスローされます。
待機中にスレッドが Thread#割り込み中断された場合、他のすべての待機スレッドがスロー BrokenBarrierException
され、バリアは壊れた状態になります。
現在のスレッドが最後に到達したスレッドであり、null 以外のバリア アクションがコンストラクターで指定された場合、現在のスレッドはアクションを実行してから、他のスレッドを続行できるようにします。 バリア アクション中に例外が発生した場合、その例外は現在のスレッドに反映され、バリアは壊れた状態になります。
の Java ドキュメント java.util.concurrent.CyclicBarrier.await(long, java.util.concurrent.TimeUnit)
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。