다음을 통해 공유


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되면 이 페이저는 사전 진행 시 최종 종료 상태로 설정되고 후속 호출은 true를 #isTerminated 반환합니다. 이 메서드의 호출에 의해 throw된 예외 또는 오류는 이 단계의 진행을 시도하는 당사자에게 전파되며, 이 경우 사전이 발생하지 않습니다.

이 메서드에 대한 인수는 현재 전환에 대해 일반적인 단계의 상태를 제공합니다. 내부에서 onAdvance 이 페이저에 대한 도착, 등록 및 대기 메서드 호출의 효과는 지정되지 않으며 의존해서는 안 됩니다.

이 페이저가 계층화된 단계 집합의 멤버인 onAdvance 경우 각 진행 시 루트 페이저에 대해서만 호출됩니다.

가장 일반적인 사용 사례를 지원하기 위해 이 메서드의 기본 구현은 파티 호출의 결과로 등록된 당사자 수가 0이 되면 반환 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 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상