gpt4 book ai didi

java - scheduledExecutorService.scheduleAtFixedRate() 方法如何保证实时执行?

转载 作者:行者123 更新时间:2023-11-29 08:19:23 30 4
gpt4 key购买 nike

因为我每秒都在执行时间紧迫的任务,所以我比较了几种方法以找到确保我的任务真正以固定时间步长执行的最佳方法。在计算所有方法的误差标准推导后,似乎使用方法 scheduledExecutorService.scheduleAtFixedRate() 会导致最佳结果,但我不知道为什么会这样。

有人知道该方法在内部是如何工作的吗?例如,与简单的 sleep() 相比,它如何确保引用的任务真正以固定的时间步长执行?

最佳答案

“普通”Java VM 无法对执行时间做出任何硬实时保证(因此也无法保证调度时间)。如果你真的需要硬实时保证,你应该看看像 Java RTS 这样的实时虚拟机。 .当然,在这种情况下您也需要一个实时操作系统。

关于与 Thread.sleep() 的比较:scheduledExecutorService.scheduleAtFixedRate() 与 Thread.sleep() 的(天真)用法相比的优势在于它不受计划任务执行时间的影响。请参阅 ScheduledFutureTask.runPeriodic() 了解其实现方式。

关于java - scheduledExecutorService.scheduleAtFixedRate() 方法如何保证实时执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1513518/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com