设置方法的更新速率

时间:2011-11-11 11:06:40

标签: java

如何处理方法的“更新速率”,假设我想每200毫秒运行一个方法,如何在不使用Thread.sleep(...)方法的情况下以非常准确的方式执行此操作?

5 个答案:

答案 0 :(得分:3)

Java(通常)不是实时系统。如果你需要每200毫秒精确调用一个方法,你就会遇到问题。如果有一些偏差,请使用Quartz之类的调度程序。

答案 1 :(得分:2)

我理解你的问题的方式 - 你想每200毫秒“执行”一个方法,你不想使用Thread.sleep()的东西。

问题的解决方案在于Timer / TimerTask类组合。请阅读http://enos.itcollege.ee/~jpoial/docs/tutorial/essential/threads/timer.html

请查看上述链接中的“重复执行任务”部分。

答案 2 :(得分:2)

我会尝试使用ScheduleExecutorService.scheduleAtFixedRate它是一个具有相当高精度的内置库。 (它使用纳米时序,而不是旧库使用的毫秒时间)

答案 3 :(得分:1)

我认为您指的是以设定的时间间隔重复执行相同任务的方法。在这种情况下,您正在寻找java.util.Timerjava.util.TimerTask

答案 4 :(得分:0)

您可以使用ScheduledThreadPoolExecutor