Phaser.OnAdvance(Int32, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Método substituível para executar uma ação no avanço de fase iminente e para controlar o encerramento.
[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
o número de fase actual aquando da entrada neste método, antes de este phaser ser avançado
- registeredParties
- Int32
o número actual de partes registadas
Retornos
true
se este phaser deve terminar
- Atributos
Comentários
Método substituível para executar uma ação no avanço de fase iminente e para controlar o encerramento. Este método é invocado na chegada da parte que avança este fasear (quando todos os outros partidos em espera estão adormecidos). Se esse método retornar true
, esse phaser será definido para um estado de término final após o avanço, e as chamadas subsequentes para #isTerminated
retornarão true. Qualquer exceção ou erro (não marcado) lançado por uma invocação desse método é propagado para a parte que está tentando avançar esse phaser, caso em que nenhum avanço ocorre.
Os argumentos para esse método fornecem o estado do faser prevalecente para a transição atual. Os efeitos de invocar os métodos de chegada, registro e espera neste fasear de dentro onAdvance
não são especificados e não devem ser invocados.
Se esse faser for um membro de um conjunto hierárquico de phasers, então onAdvance
será invocado apenas para seu phaser raiz em cada avanço.
Para dar suporte aos casos de uso mais comuns, a implementação padrão desse método retorna true
quando o número de partes registradas se tornou zero como resultado de uma parte invocando arriveAndDeregister
. Você pode desabilitar esse comportamento, permitindo assim a continuação em registros futuros, substituindo esse método para sempre retornar false
:
{@code
Phaser phaser = new Phaser() {
protected boolean onAdvance(int phase, int parties) { return false; }
};}
Documentação Java para java.util.concurrent.Phaser.onAdvance(int, int)
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.