[英]Understanding the ScheduledThreadPoolExecutor
我知道由於各種原因,我必須使用它而不是java.util.Timer
。 所以,為了研究這個,我正在查看文檔,我有幾個問題:
scheduleWithFixedDelay()
如何工作? 我的理解是:它在給定的延遲后首先執行任務。 一旦任務完成,它等待指定的時間,然后再次執行任務。scheduleAtFixedRate()
提交一個比指定延遲花費更多時間來執行的任務時會發生什么? 就像我希望任務每 5 秒執行一次,但需要 10 秒才能完成。 我的理解是任務將被保存在隊列中,一旦核心線程可用就會執行scheduleWithFixedDelay()
和scheduleAtFixedRate()
有何不同的理解: scheduleWithFixedDelay()
等待任務完成執行,等待指定的時間,然后再次觸發任務,而scheduleAtFixedRate
只會繼續觸發任務而不關心它是否完成與否。 正確的?可以這樣想:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.