Compartir a través de


Phaser.OnAdvance(Int32, Int32) Método

Definición

Método reemplazable para realizar una acción tras un avance de fase inminente y para controlar la terminación.

[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

Parámetros

phase
Int32

número de fase actual en la entrada a este método, antes de que este phaser esté avanzado.

registeredParties
Int32

el número actual de partes registradas

Devoluciones

true si este phaser debe finalizar

Atributos

Comentarios

Método reemplazable para realizar una acción tras un avance de fase inminente y para controlar la terminación. Este método se invoca a la llegada de la parte que avanza este phaser (cuando todas las demás partes en espera están inactivas). Si este método devuelve true, este phaser se establecerá en un estado de terminación final con antelación y las llamadas posteriores a #isTerminated devolverán true. Cualquier excepción (desactivada) o error producido por una invocación de este método se propaga a la parte que intenta avanzar en este phaser, en cuyo caso no se produce ningún avance.

Los argumentos de este método proporcionan el estado del phaser que prevalece para la transición actual. Los efectos de invocar métodos de llegada, registro y espera en este phaser desde dentro onAdvance no se especifican y no se deben confiar en .

Si este phaser es miembro de un conjunto de fases en capas, onAdvance solo se invoca para su phaser raíz en cada avance.

Para admitir los casos de uso más comunes, la implementación predeterminada de este método devuelve true cuando el número de partes registradas se ha convertido en cero como resultado de la invocación arriveAndDeregisterde una entidad . Puede deshabilitar este comportamiento, lo que permite la continuación en los registros futuros invalidando este método para devolver falsesiempre :

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

Documentación de Java para java.util.concurrent.Phaser.onAdvance(int, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a