我有一些股票市场数据。我想通过以可以从交易发生的时间确定的间隔发送价格来模拟股票市场。
最好的方法是做什么。
到目前为止,我有一个带有静态变量和方法的类,其中我存储了上次交易时间的小时,分钟,毫秒。然后,我使用交易时间进行当前交易,并根据存储的最后交易价值进行计算。
然后我将静态成员变量存储在与存储时间变量相同的类中的“interval”(毫秒)。
我用这一行:
timer.schedule(new RemindTask(), TimeStore.getNextInterval());
其中TimeStore.getNextInterval()检索计算的间隔。
你能想到更好的方法吗,这似乎不起作用,看起来也不是很优雅。
答案 0 :(得分:5)
如果您不想使用Quartz,那么请查看Java的ScheduledExecutorService
。
http://java.sun.com/javase/6/docs/api/java/util/concurrent/ScheduledExecutorService.html
答案 1 :(得分:1)
从链接页面:
Quartz是一个功能齐全的开源作业调度系统,可以与最小的独立应用程序集成,或者与几乎任何J2EE或J2SE应用程序一起使用 - 从最小的独立应用程序到最大的电子商务系统。 Quartz可用于创建简单或复杂的计划,以执行数十,数百甚至数万个作业;任务被定义为标准Java组件或EJB的作业。 Quartz Scheduler包含许多企业级功能,例如JTA事务和集群。
答案 2 :(得分:-1)
为了你的任务,我有一个不同的解决方案。 您可以使用javax.swing.Timer而不是java.util.Timer; 然后你可以通过发送你想要的延迟和动作actionListeners的null来调用构造函数然后你可以添加和addactionListeners(this)并覆盖actionPerformed with ur task。在javax.swing.Timer中,actionListeners会以选定的间隔重复通知