Phaser.OnAdvance(Int32, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Переопределяемый метод для выполнения действия при переходе к этапу перехода и управления завершением.
[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
Параметры
- phase
- Int32
Текущий номер этапа для входа в этот метод, прежде чем этот фазировщик будет расширен
- registeredParties
- Int32
текущее число зарегистрированных сторон
Возвращаемое значение
true
Если этот фазировщик должен завершиться
- Атрибуты
Комментарии
Переопределяемый метод для выполнения действия при переходе к этапу перехода и управления завершением. Этот метод вызывается после прибытия партии, продвигающей этот фазатор (когда все остальные стороны ожидания неактивны). Если этот метод возвращается true
, этот фазировщик будет иметь окончательное состояние завершения при предварительном переходе, а последующие вызовы #isTerminated
возвращают значение true. Любое (снятое) исключение или ошибка, вызванные вызовом этого метода, распространяется на стороне, пытающейся продвинуть этот фазировщик, в этом случае не происходит заранее.
Аргументы этого метода предоставляют состояние фазера, преобладающего для текущего перехода. Последствия вызова методов прибытия, регистрации и ожидания на этом фазировщике не onAdvance
определяются и не должны полагаться на них.
Если этот фазировщик является членом многоуровневого набора фазеров, onAdvance
то вызывается только для корневого фазера на каждом шаге.
Для поддержки наиболее распространенных вариантов использования реализация этого метода по умолчанию возвращается true
, когда число зарегистрированных сторон стало нулевым в результате вызова arriveAndDeregister
стороны. Это поведение можно отключить, включив продолжение при будущих регистрациях, переопределив этот метод, чтобы всегда возвращать false
:
{@code
Phaser phaser = new Phaser() {
protected boolean onAdvance(int phase, int parties) { return false; }
};}
Документация по Java для java.util.concurrent.Phaser.onAdvance(int, int)
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.