Sprache

CyclicBarrier.Await Methode

Definition

Überlädt

Name Beschreibung
Await()

Wartet, bis alle #getParties Parteien diese Barriere aufgerufen await haben.

Await(Int64, TimeUnit)

Wartet, bis alle #getParties Parteien diese Barriere aufgerufen await haben oder die angegebene Wartezeit verstrichen ist.

Await()

Wartet, bis alle #getParties Parteien diese Barriere aufgerufen await haben.

[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

Gibt zurück

der Ankunftsindex des aktuellen Threads, wobei Index getParties() - 1 den ersten eintreffen und Null angibt, dass der letzte eintreffen soll.

Attribute

Ausnahmen

wenn der aktuelle Thread während des Wartens unterbrochen wurde

wenn ein anderer Thread unterbrochen oder timeout war, während der aktuelle Thread wartete, oder die Barriere zurückgesetzt wurde oder die Barriere beim await Aufruf unterbrochen wurde, oder die Barriereaktion (sofern vorhanden) aufgrund einer Ausnahme fehlgeschlagen ist

Hinweise

Wartet, bis alle #getParties Parteien diese Barriere aufgerufen await haben.

Wenn der aktuelle Thread nicht der letzte ist, der eingetroffen ist, wird er für Threadplanungszwecke deaktiviert und liegt ruhend, bis einer der folgenden Dinge auftritt: ul>li Der letzte Thread kommt an; oder <li>Ein anderer Thread#interrupt unterbricht den aktuellen Thread; oder <li>Einige andere Thread#interrupt unterbricht einen der anderen wartenden Threads; oder <li>Einige andere Threadzeiten beim Warten auf Barriere; oder <li li>><< ruft #reset diese Barriere auf. </ul>

Wenn der aktuelle Thread: <ul><li>seinen unterbrochenen Status für den Eintrag in dieser Methode festgelegt hat; oder <li>ist Thread#interrupt unterbrochen, während " </ul> " wartet, wird dann InterruptedException ausgelöst, und der unterbrochene Status des aktuellen Threads wird gelöscht.

Wenn die Barriere wartet oder wenn die Barriere #reset #isBroken unterbrochen wird, wenn await ein Thread aufgerufen wird oder während eines Threads gewartet wird, wird BrokenBarrierException dieser ausgelöst.

Wenn thread#interrupt während des Wartens unterbrochen ist, werden alle anderen Wartethreads ausgelöst BrokenBarrierException , und die Barriere wird in den fehlerhaften Zustand versetzt.

Wenn der aktuelle Thread der letzte zu empfangende Thread ist und eine Aktion ohne Null-Barriere im Konstruktor bereitgestellt wurde, führt der aktuelle Thread die Aktion aus, bevor die anderen Threads fortgesetzt werden können. Wenn während der Barriereaktion eine Ausnahme auftritt, wird diese Ausnahme im aktuellen Thread weitergegeben, und die Barriere wird in den fehlerhaften Zustand versetzt.

Java-Dokumentation für java.util.concurrent.CyclicBarrier.await().

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Await(Int64, TimeUnit)

Wartet, bis alle #getParties Parteien diese Barriere aufgerufen await haben oder die angegebene Wartezeit verstrichen ist.

[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

Parameter

timeout
Int64

die Zeit, um auf die Barriere zu warten

unit
TimeUnit

die Zeiteinheit des Timeoutparameters

Gibt zurück

der Ankunftsindex des aktuellen Threads, wobei Index getParties() - 1 den ersten eintreffen und Null angibt, dass der letzte eintreffen soll.

Attribute

Ausnahmen

wenn der aktuelle Thread während des Wartens unterbrochen wurde

wenn das angegebene Timeout verstrichen ist

wenn ein anderer Thread unterbrochen oder timeout war, während der aktuelle Thread wartete, oder die Barriere zurückgesetzt wurde oder die Barriere beim await Aufruf unterbrochen wurde, oder die Barriereaktion (sofern vorhanden) aufgrund einer Ausnahme fehlgeschlagen ist

Hinweise

Wartet, bis alle #getParties Parteien diese Barriere aufgerufen await haben oder die angegebene Wartezeit verstrichen ist.

Wenn der aktuelle Thread nicht der letzte ist, der eingetroffen ist, wird er für Threadplanungszwecke deaktiviert und liegt ruhend, bis einer der folgenden Dinge passiert: ul>li Der letzte Thread kommt an; oder <li>Der angegebene Timeout verstrichen; oder <li>Ein anderer Thread#interrupt unterbricht den aktuellen Thread; oder <li>Ein anderer Thread#Interrupt unterbricht einen der anderen Wartethreads; oder <li li>><<Einige andere Threadzeiten während des Wartens auf Barriere; oder <li>Ein anderer Thread ruft auf diese Barriere auf#reset. </ul>

Wenn der aktuelle Thread: <ul><li>seinen unterbrochenen Status für den Eintrag in dieser Methode festgelegt hat; oder <li>ist Thread#interrupt unterbrochen, während " </ul> " wartet, wird dann InterruptedException ausgelöst, und der unterbrochene Status des aktuellen Threads wird gelöscht.

Wenn die angegebene Wartezeit verstrichen ist, TimeoutException wird diese ausgelöst. Wenn die Zeit kleiner als oder gleich 0 ist, wartet die Methode gar nicht.

Wenn die Barriere wartet oder wenn die Barriere #reset #isBroken unterbrochen wird, wenn await ein Thread aufgerufen wird oder während eines Threads gewartet wird, wird BrokenBarrierException dieser ausgelöst.

Wenn thread#interrupt während des Wartens unterbrochen ist, werden alle anderen Wartethreads ausgelöst BrokenBarrierException , und die Barriere wird in den fehlerhaften Zustand versetzt.

Wenn der aktuelle Thread der letzte zu empfangende Thread ist und eine Aktion ohne Null-Barriere im Konstruktor bereitgestellt wurde, führt der aktuelle Thread die Aktion aus, bevor die anderen Threads fortgesetzt werden können. Wenn während der Barriereaktion eine Ausnahme auftritt, wird diese Ausnahme im aktuellen Thread weitergegeben, und die Barriere wird in den fehlerhaften Zustand versetzt.

Java-Dokumentation für java.util.concurrent.CyclicBarrier.await(long, java.util.concurrent.TimeUnit).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: