[英]How to execute items in a list one by one at some interval in Java?
我有一個項目清單。 我想對列表中的每個項目一一運行一些操作。 該操作可能需要 5 分鍾才能完成。 問題是對於列表中的特定項目,操作應該開始並完成,然后只有下一個項目的操作才應該開始,依此類推。 該操作應該只對列表中的項目數執行。
此列表正被多個線程使用。
我正在考慮使用 TimerTask 或 Schedular。
可以請幫忙嗎?
理想情況下,您應該按順序進行,因為在這里使用並發沒有任何好處。
但是,如果它需要多線程,您可以執行以下操作...
List<Runnable> tasks = new ArrayList<>();
tasks.add(new ThreadOne()); /* Pick better names for tasks */
tasks.add(new ThreadTwo());
...
ExecutorService worker = Executors.newSingleThreadExecutor();
worker.submit(() -> {
while (!Thread.interrupted())
tasks.forEach(Runnable::run);
});
worker.shutdown();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.