杭州建设职业技术学院招聘信息网站,wordpress 数据迁移,江西省赣州市天气预报,成品网页大全下载io调度maple调度程序许多项目需要计划功能#xff0c;例如我们计划的工作#xff0c;重复的工作#xff0c;异步执行等。 我们的首选方法是使用企业作业调度程序#xff0c;例如OpenSymphony的Quartz。 使用计划任务进行编码时#xff0c;最棘手的部分之一是执行部分。 这… io调度maple调度程序 许多项目需要计划功能例如我们计划的工作重复的工作异步执行等。 我们的首选方法是使用企业作业调度程序例如OpenSymphony的Quartz。 使用计划任务进行编码时最棘手的部分之一是执行部分。 这里的主要经验法则是注意将要执行的实际代码。 调度框架在后台使用工作线程以便异步执行代码。 例如Quartz企业作业调度程序维护由主“控制器”线程监视的工作线程池。 您应该记住调度的作业本质上是异步的因此引入异步执行层是我们表示保持工作整洁的首选方式。 在过去的很多次中我们都遇到了这样的难题让调度框架工作线程执行实际代码或者实现替代的异步执行层。 每种方法都有其优点和缺点。 使用调度框架执行实际代码优点 需要更少的实施工作 工作线程由框架“控制器”线程监视 实施代码在准确的预定时间执行 使用调度框架执行实际代码缺点 实现代码与调度框架共存 对于“长期存在”的实现代码例如与外部系统的通信“繁忙时间”的数据库查询文件解析循环等会引起主要问题您可能会用尽调度框架工作程序线程尤其是在这种情况下在短时间间隔内重复工作。 我们想认为调度框架应该充当“调度程序”而不是“执行者”。 计划框架的主要职责应该是在适当的时间“触发”执行事件。 应使用事件侦听器执行代码的实际执行。 实现此设计模式的最佳方法是使用异步JMS消息传递。 计划框架工作线程应在执行时将消息插入JMS队列。 JMS侦听器线程应在收到消息后执行实际代码。 这样做会由于JMS的读/写开销而在实际代码执行之前引入一些延迟但是“长期存在”的实现代码不会对调度框架造成任何问题。 翻译自: https://www.javacodegeeks.com/2010/05/scheduling-principals-in-java.htmlio调度maple调度程序