Phaser.OnAdvance(Int32, Int32) 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.
Überschreibbare Methode zum Ausführen einer Aktion nach dem Vorlauf der Phase und zum Steuern des Beendens.
[Android.Runtime.Register("onAdvance", "(II)Z", "GetOnAdvance_IIHandler")]
protected virtual bool OnAdvance (int phase, int registeredParties);
[<Android.Runtime.Register("onAdvance", "(II)Z", "GetOnAdvance_IIHandler")>]
abstract member OnAdvance : int * int -> bool
override this.OnAdvance : int * int -> bool
Parameter
- phase
- Int32
die aktuelle Phasesnummer für den Eintrag zu dieser Methode, bevor dieser Phaser erweitert wird
- registeredParties
- Int32
die aktuelle Anzahl registrierter Parteien
Gibt zurück
true
wenn dieser Phaser beendet werden soll
- Attribute
Hinweise
Überschreibbare Methode zum Ausführen einer Aktion nach dem Vorlauf der Phase und zum Steuern des Beendens. Diese Methode wird bei Der Ankunft der Partei aufgerufen, die diesen Phaser voranschreitet (wenn alle anderen Warteparteien ruhen). Wenn diese Methode zurückgibt true
, wird dieser Phaser nach dem Voraus auf einen endgültigen Beendigungszustand festgelegt, und nachfolgende Aufrufe geben #isTerminated
"true" zurück. Jede (deaktivierte) Ausnahme oder ein fehler, der durch einen Aufruf dieser Methode ausgelöst wird, wird an die Partei weitergegeben, die versucht, diesen Phaser zu voranschreiten, in diesem Fall tritt kein Fortschritt auf.
Die Argumente für diese Methode stellen den Zustand des phasers dar, der für den aktuellen Übergang gilt. Die Auswirkungen des Aufrufens von Ankunft, Registrierung und Wartemethoden auf diesen Phaser von innen onAdvance
sind nicht angegeben und sollten nicht verwendet werden.
Wenn dieser Phaser ein Mitglied einer mehrstufigen Gruppe von Phasern ist, wird er onAdvance
nur für den Root-Phaser für jeden Fortschritt aufgerufen.
Um die am häufigsten verwendeten Anwendungsfälle zu unterstützen, gibt die Standardimplementierung dieser Methode zurück true
, wenn die Anzahl der registrierten Parteien als Ergebnis des Aufrufs arriveAndDeregister
einer Partei null geworden ist. Sie können dieses Verhalten deaktivieren und so eine Fortsetzung bei zukünftigen Registrierungen aktivieren, indem Sie diese Methode so überschreiben, dass immer zurückgegeben wird false
:
{@code
Phaser phaser = new Phaser() {
protected boolean onAdvance(int phase, int parties) { return false; }
};}
Java-Dokumentation für java.util.concurrent.Phaser.onAdvance(int, int)
.
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.