在 ExecutorService 中同步线程完成
使用 ExecutorService 并发执行任务时,监控任务进度并确保任务成功完成变得至关重要。本文探讨了在此上下文中有效处理线程同步的各种方法。
一个关键方法涉及利用 shutdown() 和awaitTermination() 方法。通过调用 shutdown(),ExecutorService 进程收到信号以开始有序终止。随后,awaitTermination() 可用于耐心等待所有排队任务在指定时间范围内或无限期完成。这可确保在继续后续操作之前没有任何任务仍在进行中。
ExecutorService taskExecutor = Executors.newFixedThreadPool(4); while(...) { taskExecutor.execute(new MyTask()); } taskExecutor.shutdown(); try { taskExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); } catch (InterruptedException e) { ... }
以上是如何在Java的ExecutorService中同步管理线程完成?的详细内容。更多信息请关注PHP中文网其他相关文章!