繁体   English   中英

Java中多个任务的任务调度?

[英]Task scheduling for multiple tasks in java?

我已经使用计时器构建了一个java时钟,它适用于单个任务在下一个给定/设置的时间发出警报,但我在使用此计时器调度多个任务(差异时间的警报)时遇到问题,因为两次可以相互冲突(两个不同作品的同一时间)如何在这些条件之间同步,请帮助....

谢谢并恭祝安康

Alok Sharma

我不确定您要做什么,但是如果您使用石英调度程序,则可以解决几乎所有调度/同步任务:

http://www.quartz-scheduler.org/

我同意Lukas你可以使用石英。 这是最好的,可伸缩的和强大的解决方案。

但如果您需要相对较小的东西,您可以继续使用基于计时器的解决方 由于Timer类的javadoc表明您的任务应该花费很少的时间。 在这种情况下,你可以忘记时间冲突。 如果您的任务花费了0.1秒以上的时间,请在单独的线程中运行它们。 我的意思是使用Timer作为触发器,只是让任务在单独的线程中启动。

该线程可以按如下方式完成:

  1. 自己创建线程。 如果你在J2EE容器中,这是不好的做法。 如果您在Tomcat中,那还不错。
  2. 使用线程池。 关于容器的注释在这里也很重要。
  3. 使用JMS:Timer只是将消息推送到JMS。 MDB或其等效项接收消息并执行任务。

在J2EE容器中使用Timer itsef也是一种不好的做法。 如果你在那里并希望“干净”使用JCA来运行Timer。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM