Java 延迟实现
在 Java 中,创建指定持续时间的延迟在各种场景中都是必不可少的。本文探讨了实现延迟的技术及其含义。
提供的代码片段利用 while 循环来迭代数组,选择和取消选择每个操作之间具有预期延迟的元素。为了实现这一点,Java 平台提供了几个选项:
java.util.concurrent.TimeUnit Sleep
TimeUnit 类提供了像 SECONDS.sleep(1) 这样的方法来暂停执行一段特定的时间。然而,这种方法会引入漂移,因为每次执行都有轻微的时间变化。
ScheduledExecutorService
为了获得更大的灵活性和精确的控制,ScheduledExecutorService 是更好的选择。它支持scheduleAtFixedRate和scheduleWithFixedDelay方法以预定义的时间间隔定期执行任务。
示例实现
使用ScheduledExecutorService(Java 8)每秒运行一个任务:
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS);
Java 7实现
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { myTask(); } }, 0, 1, TimeUnit.SECONDS);
此方法确保任务以精确的时间间隔执行,避免漂移问题。
以上是如何用Java实现精确的延迟?的详细内容。更多信息请关注PHP中文网其他相关文章!