一.说道后台定时执行任务,肯定会想到Timer和开源定时器Quartz,他们都是后天定时控制的,现在我们的需求是做一个可控性很强的控制工具,前台有两个按钮 可以控制任务的开始和停止,废话少说,来开始我们的任务吧,
首先需要一个线程,这个线程来控制任务的执行,我们要做到线程完全被控制就得设置一个标识静态变量flag,这个线程里面还包括了开始和停止方法:
任务执行类
控制页面index.jsp
启动页面 on.jsp
关闭页面 off.jsp
写完这个,顺便再来看看Timer吧
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。
一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。
看看Timer的所有方法
定时任务:
测试调用
经过以上两个例子,可以结合两者,在前台输入时间 然后控制开启和关闭 这样任务的时间可以改变,同时可控性也得到了很大提高,如果我们不想执行这个任务 我们可以手动去停止它