java.util.Timer
さまざまな理由により、代わりにこれを使用する必要があることはわかっています。だから、これを研究するために私はドキュメントを見ていて、いくつか質問があります:
- どのように動作し
scheduleWithFixedDelay()
ますか? 私の理解は次のとおりです。特定の遅延の後に最初にタスクを実行します。タスクが完了すると、指定された時間待機してから、タスクを再度実行します。 scheduleAtFixedRate()
指定された delay よりも実行に時間がかかるタスクを に送信するとどうなりますか? タスクを5秒ごとに実行したいのですが、完了するまでに10秒かかります。 私の理解では、タスクはキューに保持され、コアスレッドが利用可能になると実行されますscheduleWithFixedDelay()
これがどのようにscheduleAtFixedRate()
異なる かについての私の理解ですscheduleWithFixedDelay()
。タスクの実行が完了するのを待ち、指定された時間だけ待ってから、タスクscheduleAtFixedRate
が完了したかどうかを気にせずにタスクを起動し続けるタスクを再度起動します。正しい?