如果我想安排與特定日期對齊的循環任務,那麼使用ScheduledExecutorService
是有意義的。但它沒有辦法將第一個RunDate +後續延遲傳遞給scheduleAtFixedRate
方法。我知道我可以自己退出最初的延遲,但是有什麼理由不是由API提供的嗎?特別是在內部,SES是使用triggerTimes實現的(這是我想要傳入的)。爲什麼ScheduledExecutorService不公開在特定時間運行的方法
3
A
回答
3
:
所有日程方法都接受相對延遲和週期作爲參數,而不是絕對的時間或日期。將表示爲日期的絕對時間轉換爲所需形式是一件簡單的事情。例如,要在某個未來某個日期進行計劃,可以使用:schedule(task,date.getTime() - System.currentTimeMillis(),TimeUnit.MILLISECONDS)。但請注意,由於網絡時間同步協議,時鐘漂移或其他因素,相對延遲的到期不必與啓用任務的當前日期一致。
它看起來好像是一個取消決定。衆所周知,Date類有其問題。例如TimeTask的public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
沒有考慮日光節約時間。
0
java.util.Timer
提供了這種與TimerTask
,因爲它有一個方法
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
,但你失去了線程池和Future
支持ExecutorService
。
編輯:爲了回答你原來的問題,我想它只是沒有發生作者重載方法與日期。根據相關文檔
相關問題
- 1. 如何在特定日期和時間運行特定方法?
- 2. 在特殊時間運行某種方法的更好方法是什麼?
- 3. 爲什麼libGDX定時器不能用我的方法運行?
- 4. 爲什麼不運行方法調用?
- 5. 在特定的時間每週運行一次方法
- 6. 調度java方法在onbiz的特定時間運行使用
- 7. 在Java中的特定時間運行程序或方法
- 8. 爲什麼System.Web.Http.OData不公開?
- 9. 爲什麼不能公開一個實現的接口方法?
- 10. LinkedList中的removeFirst()方法的算法運行時間是什麼?
- 11. Iphone開發:有什麼方法可以在運行時鎖定方向?
- 12. 每天在特定時間運行Java方法
- 13. 計劃在特定時間運行方法。
- 14. 運行方法在特定時間MVC應用程序
- 15. 運行一定的時間的方法
- 16. Java ScheduledExecutorService定期運行
- 17. 在JavaScript中公開方法。爲什麼這個語法?
- 18. 爲什麼更喜歡getter和setter方法而不是公開?
- 19. 爲什麼不公開所有字段/屬性/方法?
- 20. 頂級方法:爲什麼他們成爲Object中的私有實例方法?爲什麼不公開?
- 21. 在運行時創建綁定的最佳方法是什麼?
- 22. 在特定時間運行的查詢
- 23. 爲什麼我的方法在Azure中運行時會卡住?
- 24. 爲什麼Spark流執行者在不同的時間開始?
- 25. 爲什麼我的繪圖方法只能在某些時間運行?
- 26. 爲什麼我在Profiler中運行C++的時間不準確?
- 27. 爲什麼ScheduledExecutorService在拋出異常後不能再次運行任務?
- 28. 爲什麼我不能在運行時
- 29. 爲什麼我的View.setVisibility(View.INVISIBLE)方法無法按時運行?
- 30. 爲什麼我不能在AsyncTask的doInBackground方法內運行ProgressDialog?