import java.util.concurrent.*; public class Main { public static void main(String[] args) { // 创建一个单线程的 ScheduledExecutorService ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); // 示例:安排一个任务在一段延迟后执行 executorService.schedule(() -> { System.out.println("在延迟后执行的任务"); }, 5, TimeUnit.SECONDS); // 示例:安排一个任务周期性地执行 executorService.scheduleAtFixedRate(() -> { System.out.println("周期性执行的任务"); }, 0, 1, TimeUnit.SECONDS); // 初始延迟为 0 秒,然后每隔 1 秒重复执行一次 // 在一段时间后关闭 executorService executorService.schedule(() -> { executorService.shutdown(); }, 10, TimeUnit.SECONDS); // 10 秒后关闭 } }
在这个示例中:
Executors.newSingleThreadScheduledExecutor()
创建了一个单线程的 ScheduledExecutorService。- 我们安排了两个任务:
- 一个任务使用
schedule()
在 5 秒后执行。 - 另一个任务使用
scheduleAtFixedRate()
定期执行,初始延迟为 0 秒,每隔 1 秒执行一次。
- 一个任务使用
- 我们还安排了一个任务在 10 秒后关闭
executorService
。