0

是否可以安排多个 TimerTask 以使它们同时开始,如果可以,我将如何做?特别是我想在相同的准确时间启动这些任务,以便每个任务之间的相对时间差是指定的(我希望尽可能准确)。

toneIntervalClock.scheduleAtFixedRate(tonePlayerTask, 250, 5000);
startRecordingClock.scheduleAtFixedRate(startRecordingTask,0,5000);
stopRecordingClock.scheduleAtFixedRate(stopRecordingTask, 1000, 5000);

使用相同的 Util Timer 来安排每个任务会更好吗?谢谢

4

1 回答 1

0

系统将尝试使scheduleAtFixedRate任务以低抖动触发,但您永远无法获得任何并发保证。

您尝试初始化所有任务然后运行它们的方法是一种不错的方法。我会提出的唯一建议是使用Timer#scheduleAtFixedRate(TimerTask task, Date firstTime, long period),因为那时您的通话之间没有任何抖动,schedule并且可以从固定的时间参考开始。

于 2013-09-07T22:06:58.983 回答