4

5 ミリ秒ごとにスケジューラを使用してフィールドにタイムスタンプを割り当てるアクターを作成しました。

そしてテストでは、結果が(System.currentTimeMillis() - timeField)少なくとも35であることがわかりました

scheduleAtFixedRate()Executors.scheduledThreadPool のメソッドを使用すると、正しい結果が得られます。

スケジューラの遅延には最小値がありますか?

回答: デフォルトのティック持続時間は 100 ミリ秒です。

4

2 に答える 2

3

ScheduledThreadPoolExecutor は System.nanoTime() を使用します: http://fuseyism.com/classpath/doc/java/util/concurrent/ScheduledThreadPoolExecutor-source.html

ここで比較を参照してください: System.currentTimeMillis と System.nanoTime

于 2012-07-10T17:52:57.907 に答える
1

Akkaにはかなり広範なドキュメントがあります。

抜粋は次のとおりです。

「Akkaが使用するスケジューラのデフォルトの実装は、Netty HashedWheelTimerに基づいています。正確な時間にタスクを実行するわけではありませんが、ティックごとに、期限切れのすべてを実行します。デフォルトのスケジューラの精度は、 「ticks-per-wheel」および「tick-duration」構成プロパティ。詳細については、「HashedWheelTimers」を参照してください。

于 2012-07-11T14:17:53.550 に答える