離散イベントシミュレーション用のクロッククラスを開発しています。PriorityQueueですでにイベントが開催されているため、イベント時刻が最も近いイベントに従って並べ替えられています。しかし、頭を悩ませることができないことが1つあります。私が読んだ離散イベントシミュレーションに関する論文では、時計がイベントからイベントにジャンプすることが明確に述べられているため、「目盛り」を付ける時計を用意する必要はありません。
しかし、これはどのように機能するのでしょうか。PriorityQueueにイベントを保持するEventSchedulerクラスがあります。したがって、この次のイベントがいつであるかを把握した後、EventSchedulerが次のイベントの指定された時間に呼び出すClockの「setTime」メソッドを呼び出すことができますか?しかし、それでは実際には時計として実行されることはなく、次のイベントにジャンプし続けるだけでしょうか?
クロックが実行され(ティック)、EventSchedulerからイベントがいつ発生するかを認識し、クロックがその時間に達すると、イベントを処理し、システム状態を更新し、おそらく出力イベントを生成すると考えていました。
少し不明瞭で申し訳ありませんが、時計がどのように機能するかについてのヒントに興味があります。時計はカチカチ音をたてて、イベントが発生したときにのみ「実行」しますか、それともイベントからイベントにジャンプしますか?
また、これに使用できると提案するJavaの組み込み機能はありますか?例:タイマークラス