是否可以安排多个TimerTasks,使它们全部同时开始,如果是这样,我该怎么做?特别是我想在同一时间启动这些任务,以便每个任务之间的相对时间差异符合规定(我希望尽可能准确)。
toneIntervalClock.scheduleAtFixedRate(tonePlayerTask, 250, 5000);
startRecordingClock.scheduleAtFixedRate(startRecordingTask,0,5000);
stopRecordingClock.scheduleAtFixedRate(stopRecordingTask, 1000, 5000);
使用相同的Util Timer来安排每项任务也会更好吗? 谢谢
答案 0 :(得分:0)
系统会尝试以低抖动启动scheduleAtFixedRate
任务,但是你不会得到任何并发保证。
尝试初始化所有任务然后运行它们的方法是一个不错的方法。我要做的唯一建议是使用Timer#scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
,从那时起您的schedule
次来电之间就没有任何抖动,并且可以通过固定的时间参考来启动它们。