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
返品
現在のスレッドの到着インデックス。インデックス getParties() - 1 は最初に到着したことを示し、ゼロは最後に到着することを示します
- 属性
例外
待機中に現在のスレッドが中断された場合
現在のスレッドが待機している間に 別 のスレッドが中断またはタイムアウトした場合、またはバリアがリセットされた場合、または await が呼び出されたときにバリアが破損した場合、またはバリア アクション (存在する場合) が例外のために失敗した場合
注釈
すべての #getParties パーティがこのバリアで await を呼び出すまで待機します。
現在のスレッドが最後に到着しない場合は、スレッドスケジューリングのために無効になり、次のいずれかが発生するまで休止状態になります:<ul><li>最後のスレッドが到着します。 または<li>他のスレッドスレッド#割り込みによって現在のスレッドが中断されます。または<li>他のスレッドスレッド#割り込みによって他の待機中のスレッドのいずれかが割り込まれるか、<li>バリアを待機している間に他のスレッドがタイムアウトします。または<>他のスレッドの一部は、このバリアで#resetを呼び出します。
</ul>
現在のスレッドが <ul><li>このメソッドへの入力時に割り込まれた状態を設定している場合、または <li>is Thread#interrupt interrupt interrupt interrupted while waiting </ul>InterruptedException がスローされ、現在のスレッドの中断状態がクリアされます。
任意のスレッドが待機している間にバリアが #reset された場合、または await が呼び出されたときにバリア #isBroken が切断された場合、またはスレッドが待機している間にバリア BrokenBarrierException がスローされます。
待機中にスレッドがスレッド#割り込みが中断された場合、他のすべての待機中のスレッドは BrokenBarrierException をスローし、バリアは破損状態になります。
現在のスレッドが最後に到着し、null 以外のバリア アクションがコンストラクターで指定された場合、現在のスレッドは、他のスレッドを続行する前にアクションを実行します。 バリア アクション中に例外が発生した場合、その例外は現在のスレッドに反映され、バリアは破損状態になります。
java.util.concurrent.CyclicBarrier.await()の Java ドキュメント。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
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
タイムアウト パラメーターの時間単位
返品
現在のスレッドの到着インデックス。インデックス getParties() - 1 は最初に到着したことを示し、ゼロは最後に到着することを示します
- 属性
例外
待機中に現在のスレッドが中断された場合
指定したタイムアウトが経過した場合
現在のスレッドが待機している間に 別 のスレッドが中断またはタイムアウトした場合、またはバリアがリセットされた場合、または await が呼び出されたときにバリアが破損した場合、またはバリア アクション (存在する場合) が例外のために失敗した場合
注釈
すべての #getParties パーティがこのバリアで await を呼び出すか、指定した待機時間が経過するまで待機します。
現在のスレッドが最後に到着しない場合は、スレッドスケジューリングのために無効になり、次のいずれかが発生するまで休止状態になります:<ul><li>最後のスレッドが到着します。 または <li>指定されたタイムアウトが経過しました。または、<li>他のスレッドスレッド#割り込みによって現在のスレッドが中断されます。または<>他のスレッドスレッド#割り込みによって、他の待機中のスレッドの 1 つが中断されます。または、<li>バリアを待っている間、他のいくつかのスレッドがタイムアウトします。または <li>他のスレッドがこのバリアで#resetを呼び出す場合があります。
</ul>
現在のスレッドが <ul><li>このメソッドへの入力時に割り込まれた状態を設定している場合、または <li>is Thread#interrupt interrupt interrupt interrupted while waiting </ul>InterruptedException がスローされ、現在のスレッドの中断状態がクリアされます。
指定した待機時間が経過すると、 TimeoutException がスローされます。 時間が 0 以下の場合、メソッドはまったく待機しません。
任意のスレッドが待機している間にバリアが #reset された場合、または await が呼び出されたときにバリア #isBroken が切断された場合、またはスレッドが待機している間にバリア BrokenBarrierException がスローされます。
待機中にスレッドがスレッド#割り込みが中断された場合、他のすべての待機中のスレッドは BrokenBarrierException をスローし、バリアは破損状態になります。
現在のスレッドが最後に到着し、null 以外のバリア アクションがコンストラクターで指定された場合、現在のスレッドは、他のスレッドを続行する前にアクションを実行します。 バリア アクション中に例外が発生した場合、その例外は現在のスレッドに反映され、バリアは破損状態になります。
java.util.concurrent.CyclicBarrier.await(long, java.util.concurrent.TimeUnit)の Java ドキュメント。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。