CyclicBarrier.Await Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| Await() |
Wartet, bis alle #getParties Parteien diese Barriere aufgerufen |
| Await(Int64, TimeUnit) |
Wartet, bis alle #getParties Parteien diese Barriere aufgerufen |
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.
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.