共用方式為


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.util.concurrent.Phaser.onAdvance(int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於