語言

ScheduledThreadPoolExecutor.ScheduleAtFixedRate 方法

定義

提交一個週期性行動,該動作在給定的初始延遲後先啟用,隨後在指定期間內生效;也就是說,執行會在 initialDelay之後開始,接著 initialDelay + period,然後 initialDelay + 2 * period,依此類推。

[Android.Runtime.Register("scheduleAtFixedRate", "(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;", "GetScheduleAtFixedRate_Ljava_lang_Runnable_JJLjava_util_concurrent_TimeUnit_Handler")]
public virtual Java.Util.Concurrent.IScheduledFuture? ScheduleAtFixedRate(Java.Lang.IRunnable? command, long initialDelay, long period, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("scheduleAtFixedRate", "(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;", "GetScheduleAtFixedRate_Ljava_lang_Runnable_JJLjava_util_concurrent_TimeUnit_Handler")>]
abstract member ScheduleAtFixedRate : Java.Lang.IRunnable * int64 * int64 * Java.Util.Concurrent.TimeUnit -> Java.Util.Concurrent.IScheduledFuture
override this.ScheduleAtFixedRate : Java.Lang.IRunnable * int64 * int64 * Java.Util.Concurrent.TimeUnit -> Java.Util.Concurrent.IScheduledFuture

參數

command
IRunnable

執行任務

initialDelay
Int64

延遲首次處決的時間

period
Int64

連續執行死刑之間的期間

unit
TimeUnit

初始Delay與週期參數的時間單位

傳回

一個預定未來,代表等待完成一系列重複任務。 未來的 get() 方法永遠不會正常回傳,且在任務取消或任務執行異常終止時會拋出例外。

實作

屬性

例外狀況

備註

提交一個週期性行動,該動作在給定的初始延遲後先啟用,隨後在指定期間內生效;也就是說,執行會在 initialDelay之後開始,接著 initialDelay + period,然後 initialDelay + 2 * period,依此類推。

任務執行序列會無限持續,直到以下其中一個例外完成發生: <ul><li>該任務是 Future#cancel,透過回傳的 Future 明確取消。 <呼叫 li>方法 #shutdown 時,關機後繼續的 #getContinueExistingPeriodicTasksAfterShutdownPolicy 策略未設為真,或是呼叫方法 #shutdownNow ;同時也會導致任務取消。 <李>執行任務時會拋出例外。 此時 Future#get() get 呼叫返回的未來會拋出 ExecutionException,並以例外為原因。 </ul> 後續處決被壓制。 後續通話 Future#isDone isDone() 將返回 true。

自 API 等級 31 起:若應用程式在固定速率任務完成或取消前被 Android 快取應用程式凍結,該任務可能在解凍後立即執行多次,就像執行指令一次就耗盡凍結期間一樣。

自 API 等級 36 起:若該任務的任何執行時間超過其週期,則後續執行將排程至最近一次錯過的期間。

Java 參考 java.util.concurrent.ScheduledThreadPoolExecutor.scheduleAtFixedRate。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於