Java 8 指定时间点执行操作:ScheduledExecutorService 指南
在 Java 8 中,您可以使用 `ScheduledExecutorService` 接口和 `ScheduledThreadPoolExecutor` 类在指定时间点执行某个操作。\n\n下面是一个示例代码,演示了如何使用 `ScheduledExecutorService` 在指定时间点执行某个操作:\n\njava\nimport java.time.LocalDateTime;\nimport java.util.concurrent.Executors;\nimport java.util.concurrent.ScheduledExecutorService;\nimport java.util.concurrent.TimeUnit;\n\npublic class ScheduledTaskExample {\n\n public static void main(String[] args) {\n // 创建一个 ScheduledExecutorService\n ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);\n\n // 获取当前时间\n LocalDateTime now = LocalDateTime.now();\n\n // 设置要执行操作的时间点(在当前时间的基础上延迟1分钟)\n LocalDateTime scheduledTime = now.plusMinutes(1);\n\n // 计算延迟时间(以毫秒为单位)\n long delay = java.time.Duration.between(now, scheduledTime).toMillis();\n\n // 执行操作\n executorService.schedule(() -> {\n System.out.println("操作在指定时间点执行");\n }, delay, TimeUnit.MILLISECONDS);\n\n // 关闭 ScheduledExecutorService\n executorService.shutdown();\n }\n}\n\n\n在上面的示例中,首先创建了一个 `ScheduledExecutorService`,然后获取当前时间和要执行操作的时间点,计算出延迟时间。接下来使用 `schedule()` 方法来安排操作的执行,在延迟时间过后,操作将会在指定时间点执行。\n\n需要注意的是,在使用完 `ScheduledExecutorService` 后,需要调用 `shutdown()` 方法来关闭它,以释放相关资源。
原文地址: https://www.cveoy.top/t/topic/qssi 著作权归作者所有。请勿转载和采集!