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 に答える