私はAnylogicで単純なエージェントベースモデルを構築しています。私が実装したいのは、エージェントの飢餓です。エージェントのパラメータはhunger
です。 1時間ごとにhunger
+1を設定します。私はそれがサイクルで行われるべきだと思いますが、私はどのように起動するのか分かりません。誰かがサイクルを構築するのを助けることができますか?Javaで時間単位を操作する
1
A
答えて
0
これは1つの解決策ですが、これはrun()メソッドを完了するための時間を考慮していません。
public class HourRun implements Runnable {
private final ScheduledExecutorService scheduler
= Executors.newScheduledThreadPool(1);
int period = 1;
int delay = 0;
TimeUnit timeUnit = TimeUnit.HOURS;
ScheduledFuture scheduledFuture;
public HourRun() {
scheduledFuture = scheduler.scheduleAtFixedRate(this,
period, delay, timeUnit);
}
@Override
public void run() {
// This will be called every hour.
}
}
あなたはそれがrun()メソッドの仕上げの間に1時間になりたい場合は、コンストラクタで、この代わりに使用してください。
int initialDelay = 0;
scheduler.scheduleWithFixedDelay(this, initialDelay, delay, timeUnit)
これは、すべての操作、呼び出し、run()メソッドで実行されているものを1時間待ってから、もう一度呼び出します。 これがあなたの望むものかどうかはわかりません。 これは簡単でしょうか?
new Thread(new Runnable() {
@Override
public void run() {
try {
TimeUnit.HOURS.sleep(1);
} catch (InterruptedException e) {
// Code here
}
}
}).start();
これは、ほとんどの時間スリープする別のスレッドで必要なものを実行します。幸運にも、何とかお手伝いできることを願っています。
1
ここではJavaの時間のAPIを見てみましょう:java.time.Durationクラスでhttps://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
ルックを、それはあなたが探している機能を備えています。私はいくつかのコードを投稿せずに特定のヘルプを提供することはできません。
関連する問題
- 1. 時間単位の操作
- 2. Javaで時間と時間の操作を比較する
- 3. Javaでビットシフト、ビット単位の操作を複製する方法
- 4. 離散事象シミュレーション時間単位Java
- 5. 時間単位または時間単位のグループknock
- 6. ビット単位のC操作
- 7. ByteStringのビット単位操作
- 8. Cでのビット単位の操作 - AnyOddBit
- 9. 時間単位のMySQLグループ
- 10. ColdFusion - 分単位の時間を作成する
- 11. Java EE Web開発ビット単位の操作
- 12. 週単位のカレンダーで時間間隔を変更する
- 13. Pythonの時間を操作する
- 14. 配列の要素単位の操作
- 15. nand MIPSアセンブリーのビット単位操作
- 16. C#:GridView、行単位の操作
- 17. 光沢のある時間単位の時間範囲入力
- 18. CronTriggerの開始時間と終了時間を分単位で設定する
- 19. 日付時間ピッカー操作
- 20. ルビーの時間操作
- 21. Javaストリーム間の操作
- 22. AMを使用してC#で分単位の時間を作成する
- 23. モデルから時間単位の時系列を予測する
- 24. 変更時に時間単位のデータを圧縮するクエリ
- 25. MySQLで時間単位でグループを検索する
- 26. data.table:時間ごとにIDateTimeを時間単位で遅らせる
- 27. 時間差をミリ秒単位で取得する方法
- 28. ハードウェアの時間をミリ秒単位で取得する方法
- 29. グループ単位で合計労働時間を計算する
- 30. 時間を分単位で表示する
これはすばらしい解決策です。しかし、私は、anylogicにはスケジューラー機能があり、APIで設定できることがわかりました:-) –