[英]ScheduledExecutorService, schedule different tasks at different intervals
我想要有兩個任務--HandlerA和HandlerB分別每10秒和每20秒執行一次。 如果這個解決方案錯了,實現這個目標的最佳方法是什么?
ScheduledExecutorService stp = Executors.newScheduledThreadPool(8);
stp.scheduleAtFixedRate(new HandlerA(), 0, 10, TimeUnit.SECONDS);
stp.scheduleAtFixedRate(new HandlerB(), 0, 20, TimeUnit.SECONDS);
當我安排另一個時,是否會覆蓋計划任務?
你的解決方案是對的。 您正在安排2個單獨的任務。 您的ScheduledThreadPoolExecutor的核心池大小= 8,這足以並行執行2個計划任務。
你為什么要問? 那解決方案很好。 scheduleAtFixedRate
每次調用都會啟動一個單獨的調度程序,即添加HandlerA
兩次運行它與兩個獨立的調度程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.