LilyBookStore中用到的是Spring整合的Quartz框架,用它来完成每日更新索引的计划。Quartz本身是和xwork同一家公司开发的,虽然最近一两年已经没有新版本问世了,但是还有有挺高的曝光率。Quartz最为强大的是一个Cron表达式,利用这个表达式可以更加直观地定义任务调用的具体时间或时间间隔,而不必去苦苦地计算delay和interval。再一个好处由于与Spring整合,可以完美地融入Spring管理的对象中去,加上Spring还封装了一个MethodInvokeBean,更是大大方便了任务调度的编写,基本上在Spring的参与下,不用写一行与Quartz有关的代码,只要写xml配置即可。而且Quartz提供了线程池的管理,默认的情况下有10个线程,还是比较成熟的。
Winter项目也用到了任务调度的功能,需求时每2个小时统计一下各处的发贴数和分值,更新相关数据列。起初是用java.util.Timer和java.util.TimerTask实现的,没有真正运行过。今天看Java Thread一书,说到这种方式的一个弊端,当前一次尚在执行,而后一次已经开始的情况下,用Timer实现的程序会出现问题,为此不得不在每次任务启动时判断上次任务是否已经结束。从Java 5.0开始,java.util.concurrent包中增加了一个ScheduledThreadPoolExecutor类,用来实现定时任务和线程池的管理,比起Timer简陋的实现是要强大得多了,可能也是Quartz不再开发的一个重要原因。ScheduledThreadPoolExecutor还可以和Java 5引入的一系列多线程机制协作,可惜这方面我还没有理解透,不知道能够为已有的程序增加怎样的保护。简单地来说,利用ScheduledThreadPoolExecutor的scheduleAtFixedRate和scheduleWithFixedDelay两个方法就可以实现任务调度的基本功能,从前用Timer实现的功能应该要迁移到scheduleWithFixedDelay上了
分享到:
相关推荐
最新单片机仿真 TIMER0与TIMER1控制条形LED最新单片机仿真 TIMER0与TIMER1控制条形LED最新单片机仿真 TIMER0与TIMER1控制条形LED最新单片机仿真 TIMER0与TIMER1控制条形LED最新单片机仿真 TIMER0与TIMER1控制条形LED...
单片机C语言程序设计 TIMER0与TIMER1控制条形LED(有源码)单片机C语言程序设计 TIMER0与TIMER1控制条形LED(有源码)单片机C语言程序设计 TIMER0与TIMER1控制条形LED(有源码)单片机C语言程序设计 TIMER0与TIMER1控制...
单片机C语言程序设计31 TIMER0与TIMER1控制条形LED(基于8051+Proteus仿真)单片机C语言程序设计31 TIMER0与TIMER1控制条形LED(基于8051+Proteus仿真)单片机C语言程序设计31 TIMER0与TIMER1控制条形LED(基于8051+...
51单片机Proteus仿真实例 TIMER0与TIMER1控制条形LED51单片机Proteus仿真实例 TIMER0与TIMER1控制条形LED51单片机Proteus仿真实例 TIMER0与TIMER1控制条形LED51单片机Proteus仿真实例 TIMER0与TIMER1控制条形LED51...
C语言02-Timer0-Timer1-Timer2-Timer3-Timer4测试程序(STC32G-DEMO-CODE-220311kw)C语言02-Timer0-Timer1-Timer2-Timer3-Timer4测试程序(STC32G-DEMO-CODE-220311kw)C语言02-Timer0-Timer1-Timer2-Timer3-Timer4...
基于Keil+51单片机TIMER0与TIMER1控制条形LED.rar(源码+仿真)基于Keil+51单片机TIMER0与TIMER1控制条形LED.rar(源码+仿真)基于Keil+51单片机TIMER0与TIMER1控制条形LED.rar(源码+仿真)基于Keil+51单片机TIMER0...
TIMER0与TIMER1控制条形LED,比赛练习案例,仿真实例,现成调用封装使用,可运行的仿真电路图和调好的程序,开箱即用。适用于教学案例、毕业设计、电子设计比赛、出书项目实例,实际设计、个人DIY参考。 已调试好,...
本文实例讲述了C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析,分享给大家供大家参考。具体分析如下: 在.NET Framework里面提供了三种Timer ① System.Windows.Forms.Timer ② System.Timers.Timer ③...
在 Win32 体系结构中有两种类型的线程:UI 线程和辅助线程。UI 线程绝大多数时间处于空闲状态,等待消息循环中的消息到来。一旦接收到消息,它们就进行处理并等待下一...线程计时器的时间间隔在 Timer 构造函数中设置。
加Timer控件 timer1 编写其Tick事件为 private void timer1_Tick(object sender, EventArgs e) { this.toolStripStatusLabel3.Text = "系统当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); } ...
基于Verilog的timer计时器,start开始,到达设置计时点时输出一个高电平up信号
通过java的TimerTask与Timer设计时间监控,写了一个测试类,帮助新人学习。
基于51单片机的设计,需要下载请详细查看压缩包内容,有些有源程序,有仿真文件,资料过多,请仔细查看。
学习32位单片机的基础例程,主要针对初学者对TIMER的编程学习
addintimer高级版是一个万能定时器,非常好用,强烈推荐,可以当时间定时器来用,还有整点报时,定时录音等功能
单片机C语言程序设计TIMER0控制流水灯(基于8051+Proteus仿真)单片机C语言程序设计TIMER0控制流水灯(基于8051+Proteus仿真)单片机C语言程序设计TIMER0控制流水灯(基于8051+Proteus仿真)单片机C语言程序设计...
STC8a8k所有定时器测试程序
ajax_timer ajax_timer ajax_timer ajax_timer