Java定时任务
2016-08-25 16:00
267 查看
定时任务的执行需要两个基类,分别是java.util.Timer和java.util.TimerTask
定时任务的创建执行过程:
1.创建一个要执行的TimerTask;
2.创建一个Timer的实例,通过Timer提供的schedule方法,将TimerTask加入到定时器Timer中;
另外一种方法,摘超有机会试一下:
第一步:
第二步:
第三步:
第四步:配置web.xml文件
定时任务的创建执行过程:
1.创建一个要执行的TimerTask;
2.创建一个Timer的实例,通过Timer提供的schedule方法,将TimerTask加入到定时器Timer中;
Timer中的schedule()方法是有多种重载格式的,以适应不同的情况。该方法的格式如下: void schedule(TimerTask task, Date time) 安排在指定的时间执行指定的任务。 void schedule(TimerTask task, Date firstTime, long period) 安排指定的任务在指定的时间开始进行重复的固定延迟执行。 void schedule(TimerTask task, long delay) 安排在指定延迟后执行指定的任务。 void schedule(TimerTask task, long delay, long period) 安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
Timer是线程安全的,此类可扩展到大量同时安排的任务(存在数千个都没有问题)。其所有构造方法都启动计时器线程。可以调用cancel() 终止此计时器,丢弃所有当前已安排的任务。purge()从此计时器的任务队列中移除所有已取消的任务。此类不提供实时保证:它使用 Object.wait(long) 方法来安排任务。 TimerTask是一个抽象类,由 Timer 安排为一次执行或重复执行的任务。它有一个抽象方法run()----计时器任务要执行的操作。因此,每个具体的任务类都必须继承TimerTask类,并且重写run()方法。另外它还有两个非抽象的方法: boolean cancel() 取消此计时器任务。 long scheduledExecutionTime() 返回此任务最近实际 执行的安排 执行时间。
public class TestTimerTask extends TimerTask{ /** * 定时任务要执行的操作 */ @Override public void run() { Date date = new Date(this.scheduledExecutionTime()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); System.out.println("本次任务执行的时间是:"+sdf.format(date)); } }
public class TestTimer { public static void main(String[] args) { Timer timer = new Timer(); TestTimerTask task = new TestTimerTask(); /*//安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。1000L=1s timer.schedule(task, 500L, 1000L);*/ /*//安排在指定时间执行指定任务 Calendar calendar = Calendar.getInstance(); calendar.set(2016, 7, 25, 15, 34); timer.schedule(task,calendar.getTime());*/ /*//安排指定的任务在指定的时间开始后重复执行 Calendar calendar = Calendar.getInstance(); calendar.set(2016, 7, 25, 15, 41); timer.schedule(task,calendar.getTime(),700L);*/ /*//安排在指定延时后执行这个任务 timer.schedule(task, 500L);*/ //每天0点执行定时任务 Calendar calendar = Calendar.getInstance(); calendar.set(2016, 7, 25, 15, 41); //设置开始执行的时间 //间隔时间一天 long period = 24 * 60 * 60 * 1000; timer.schedule(task, calendar.getTime(), period); } }
另外一种方法,摘超有机会试一下:
第一步:
相关文章推荐
- java中的时间操作 三 定时任务
- 学习定时任务的java实现
- java关于Timer schedule执行定时任务
- Tomcat java 定时任务
- 在 Java 应用程序中定时执行任务
- java定时执行任务的三种方法
- Java定时任务的实现 【转】
- Java定时执行任务的三种方法
- 使用 Java 计时器实现定时执行任务
- java定时执行任务的三种方法
- 学习定时任务的java实现
- Java:Web应用下实现定时任务的简便方法
- java Timer实现定时任务
- Java定时任务的实现
- JAVA定时执行任务
- Java:Web应用下实现定时任务的简便方法
- java执行定时任务
- JAVA定时执行任务
- Java定时任务的实现
- java中的时间操作 三 定时任务