Phaser.OnAdvance(Int32, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
可重写的方法,用于在即将进行阶段推进时执行操作,以及控制终止。
[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.util.concurrent.Phaser.onAdvance(int, int)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。