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 após o avanço da fase iminente e 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 da fase atual na entrada para este método, antes que este phaser seja avançado
- registeredParties
- Int32
o número atual de partes registradas
Retornos
true se este phaser deve terminar
- Atributos
Comentários
Método substituível para executar uma ação após o avanço da fase iminente e controlar o encerramento. Esse método é invocado na chegada da parte que avança neste phaser (quando todas as outras partes de espera estão inativas). Se esse método retornar true, esse phaser será definido como um estado de encerramento final com antecedência e as chamadas subsequentes retornarão #isTerminated verdadeiras. Qualquer exceção (desmarcada) exceção ou erro gerado por uma invocação desse método é propagado para a parte que tenta avançar esse phaser, caso em que nenhum avanço ocorre.
Os argumentos para esse método fornecem o estado do phaser predominante para a transição atual. Os efeitos de invocar métodos de chegada, registro e espera nesse phaser de dentro onAdvance não são especificados e não devem ser confiados.
Se esse phaser for um membro de um conjunto em camadas de phasers, será onAdvance 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 torna zero como resultado de uma invocação arriveAndDeregisterde parte. 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; }
};}
Java documentação para java.util.concurrent.Phaser.onAdvance(int, int).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.