如何创建在不同时间重复的Java计时器
我有一些股市数据。我想模拟股票市场,让价格以交易发生时间确定的时间间隔发送 最好的方法是什么 到目前为止,我有一个带有静态变量和方法的类,在这个类中,我存储了上一次交易时间的小时、分钟、毫秒。然后,我使用当前交易的交易时间,并根据存储的上次交易值进行计算 然后,我将时间间隔作为静态成员变量存储在与存储时间变量相同的类中(以毫秒为单位) 我用这句话:如何创建在不同时间重复的Java计时器,java,timer,Java,Timer,我有一些股市数据。我想模拟股票市场,让价格以交易发生时间确定的时间间隔发送 最好的方法是什么 到目前为止,我有一个带有静态变量和方法的类,在这个类中,我存储了上一次交易时间的小时、分钟、毫秒。然后,我使用当前交易的交易时间,并根据存储的上次交易值进行计算 然后,我将时间间隔作为静态成员变量存储在与存储时间变量相同的类中(以毫秒为单位) 我用这句话: timer.schedule(new RemindTask(), TimeStore.getNextInterval()); 其中TimeStor
timer.schedule(new RemindTask(), TimeStore.getNextInterval());
其中TimeStore.getNextInterval检索计算的间隔
你能想出一个更好的方法吗?这似乎不起作用,也不太优雅
从链接页面:
Quartz是一个功能齐全的开源作业调度系统,可以与任何J2EE或J2SE应用程序集成,或与之一起使用,从最小的独立应用程序到最大的电子商务系统。Quartz可用于创建简单或复杂的计划,以执行数十个、数百个甚至数万个作业;任务定义为标准Java组件或EJB的作业。Quartz调度器包括许多企业级功能,如JTA事务和集群
如果您不想使用Quartz,那么看看Java的ScheduledExecutorService
对于你的任务,我有一个不同的解决方案。 您可以使用javax.swing.Timer代替java.util.Timer; 然后,您可以通过发送您想要的延迟和actionListeners的null来调用构造函数,然后您可以添加和添加actionListeners此操作并覆盖您的任务执行的操作。在javax.swing.Timer中,actionListeners会在选定的时间间隔内重复收到通知