java定时执行任务--Timer的使用
2018-03-17 00:06
513 查看
执行任务体
package com.lei.timer; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.TimerTask; public class MyTimerTask extends TimerTask{ private String currentTreadName; private int count = 0; public MyTimerTask(String currentTreadName) { this.currentTreadName = currentTreadName; } @Override public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = format.format(calendar.getTime()); System.out.println("当前正在运行的任务为:"+currentTreadName); System.out.println("当前时间为;"+time); //执行10次取消 if (count>=10) { cancel();//取消任务 } count++; } }
定义Timer启动任务体
package com.lei.timer; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Timer; public class MyTimer { //时间间隔 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; public static void main(String[] args) { MyTimerTask task = new MyTimerTask("Timer1"); Timer timer = new Timer(); //timer.schedule(task,2000L);//两秒后执行 //timer.schedule(task,2000L,3000L);//两秒后执行,每隔三秒执行一次 /** * 每天零点执行 */ Calendar calendar = Calendar.getInstance(); //设置为0点0分0秒 calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); Date date=calendar.getTime(); //第一次执行定时任务的时间 //如果第一次执行定时任务的时间 小于 当前的时间 //此时要在 第一次执行定时任务的时间 加一天, //以便此任务在下个时间点执行。如果不加一天,任务会立即执行。 //循环执行的周期则以当前时间为准 if (date.before(new Date())) { date = addDay(date, 1); } timer.schedule(task, date,PERIOD_DAY); } // 增加或减少天数 private static Date addDay(Date date, int num) { Calendar startDT = Calendar.getInstance(); startDT.setTime(date); startDT.add(Calendar.DAY_OF_MONTH, num); return startDT.getTime(); } }
相关文章推荐
- JAVA中使用Timer,TimerTask轮循数据库,执行定时任务
- JAVA中使用Timer,TimerTask轮循数据库,执行定时任务
- java关于Timer schedule执行定时任务
- 定时任务:Java中Timer和TimerTask的使用
- Java里timer执行定时任务
- 定时任务:Java中Timer和TimerTask的使用
- java的Timer,定时执行某个任务
- java关于Timer schedule执行定时任务
- 定时任务:Java中Timer和TimerTask的使用
- 定时任务:Java中Timer和TimerTask的使用
- java 中 Timer 定时执行任务
- java中用Timer类执行定时任务
- java关于Timer schedule执行定时任务
- java关于Timer schedule执行定时任务
- 定时任务:Java中Timer和TimerTask的使用
- java关于Timer schedule执行定时任务
- 使用TimerTask做每月定时执行任务.
- 定时任务:Java中Timer和TimerTask的使用
- java定时任务,每天定时执行任务(JDK TimerTask)
- Java 中Timer和TimerTask 定时器和定时任务使用的例子