如何处理方法的“更新速率”,假设我想每200毫秒运行一个方法,如何在不使用Thread.sleep(...)
方法的情况下以非常准确的方式执行此操作?
答案 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.Timer和java.util.TimerTask。
答案 4 :(得分:0)