我在Anylogic中构建了一个简单的代理基础模型。我想实施的是代理商的匮乏。该代理具有hunger
参数。我想每小时设置hunger
+1。我想这应该与周期完成,但我不知道如何开始。有人可以帮助我建立这个循环吗?在java中使用时间单位
1
A
回答
0
这是一个解决方案,但是这并没有考虑完成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()方法的终点之间的一个小时,然后在构造函数中使用使用这种代替。
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这里:https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
看java.time.Duration类,它有您正在寻找的功能。如果没有发布代码,我无法提供具体的帮助。
相关问题
- 1. 的Java:单独的时间位数
- 2. 使用Kernprof更改时间单位
- 3. Java - 在J2ME中使用日期/时间
- 4. 如何在java中使用EPOCH时间?
- 5. 以分钟为单位的一天中的时间Java
- 6. Java中的离散事件模拟时间单位
- 7. 使用时间计算两次之间的中位时间
- 8. 执行时间:单位
- 9. CSS过渡时间单位
- 10. getTickCount时间单位混淆
- 11. Lubridate修复时间单位
- 12. 在java中使用位操作符时使用哪个包?
- 13. C++旧时间到现在时间以小时为单位
- 14. tcpdump timestamps中的时间单位
- 15. 如何在Java中使用Java插入当前时间
- 16. Java中不使用乔达时间的时间转换
- 17. 绘制时间以小时为单位?
- 18. 以毫秒为单位在Java中使用Timer.schedule()
- 19. 建模时间在java中
- 20. 跟踪时间在Java中
- 21. 使用boost :: date_time库格式化时间以毫秒为单位
- 22. 使用bash计算时间(以秒为单位)
- 23. 如何使用日历减去不同的时间单位
- 24. 使用Powershell查找时间(以毫秒为单位)?
- 25. 使用本地存储需要时间以毫秒为单位
- 26. 使用VBScript查找以毫秒为单位的时间
- 27. 如何在Java中使用偏移时间简单日期格式
- 28. 使用Java在JPanel中定位滑块
- 29. 在Java中使用Unsigned int 32位?
- 30. 如何在java中使用位寻址?
这将是一个很好的解决方案。但是我发现,anylogic有一个调度器函数,你可以在API中设置它:-) –