Condividi tramite


Phaser.OnAdvance(Int32, Int32) Metodo

Definizione

Metodo sostituibile per eseguire un'azione in caso di avanzamento della fase in sospeso e per controllare la terminazione.

[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

Parametri

phase
Int32

numero di fase corrente per l'immissione di questo metodo, prima che questo phaser sia avanzato

registeredParties
Int32

numero corrente di parti registrate

Restituisce

true se questo phaser deve terminare

Attributi

Commenti

Metodo sostituibile per eseguire un'azione in caso di avanzamento della fase in sospeso e per controllare la terminazione. Questo metodo viene richiamato all'arrivo della parte che avanza questa fase (quando tutte le altre parti in attesa sono inattiva). Se questo metodo restituisce true, questo phaser verrà impostato su uno stato di terminazione finale in anticipo e le chiamate successive a #isTerminated restituiranno true. Qualsiasi eccezione (deselezionata) o errore generata da una chiamata di questo metodo viene propagata all'entità che tenta di avanzare in questa fase, nel qual caso non si verifica alcun anticipo.

Gli argomenti di questo metodo forniscono lo stato del phaser prevalente per la transizione corrente. Gli effetti della chiamata di metodi di arrivo, registrazione e attesa su questo phaser dall'interno onAdvance non sono specificati e non devono essere basati su.

Se questo phaser è un membro di un set a livelli di phaser, onAdvance viene richiamato solo per il phaser radice in ogni avanzamento.

Per supportare i casi d'uso più comuni, l'implementazione predefinita di questo metodo restituisce true quando il numero di parti registrate è diventato zero come risultato di una parte che richiama arriveAndDeregister. È possibile disabilitare questo comportamento, abilitando quindi la continuazione in caso di registrazioni future, eseguendo l'override di questo metodo per restituire falsesempre :

{@code
            Phaser phaser = new Phaser() {
              protected boolean onAdvance(int phase, int parties) { return false; }
            };}

Documentazione java per java.util.concurrent.Phaser.onAdvance(int, int).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a