Timer类 和 TimerTask类。一种有用计时器工具。可以每隔相同时间去执行某任务一次。
2014-02-10 21:21
363 查看
1,编写一个类 继承TimerTask类
public class MyTimerTask extends TimerTask { @Override public void run() { System.out.println("现在是:"+new Date().toString()+" 执行一次任务ing....."); } }
2,通过Timer类调用第一步的类 开始任务
public static void main(String[] args) throws Exception { Timer timer = new Timer(); MyTimerTask myTimerTask = new MyTimerTask(); System.out.println("开始 执行任务"); //从0毫秒开始 每隔1000毫秒 执行myTimerTask中的任务一次 timer.schedule(myTimerTask, 0, 1000); Thread.sleep(10000); //10秒后取消任务 timer.cancel(); System.out.println("取消任务"); }
打印结果:
开始 执行任务
现在是:Mon Feb 10 21:17:41 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:42 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:43 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:44 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:45 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:46 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:47 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:48 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:49 CST 2014 执行一次任务ing.....
现在是:Mon Feb 10 21:17:50 CST 2014 执行一次任务ing.....
取消任务
现在是:Mon Feb 10 21:17:51 CST 2014 执行一次任务ing.....
“取消任务”没有在最后显示 是因为这是两个线程(主线程 和 timer线程) 在最后打印这两行信息几乎是在同一时间,cup执行权随机切换的结果。
相关文章推荐
- 1:java.util.Timer类是一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。 2:TimerTask类是由 Timer 安排为一次执行或重复执行的任
- timer 的使用 模拟显示时间,可以每隔一段时间定时执行调度
- 设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time)
- java中计时器的用法Timer和TimerTask的用法__java中利用Timer与TImerTask 计时器间隔执行任务
- java定时任务,每天定时执行任务(JDK TimerTask)
- 一个简陋的自定义用线程Thread实现的计时器Timer,可以增加定时时间
- 执行循环任务new Timer().schedule(new TimerTask(){},0,1000);
- spring-task定时任务动态配置修改执行时间
- 【Linux】 定时任务 每隔时间执行任务 脚本
- 经典案例, 每隔一分钟执行一次的定时任务, 用 thread+ while(true) 还是timer
- Spring之任务调度(类似javascript的timeout方法,每隔一定时间执行操作)
- spring中集成TimerTask执行定时任务
- 多线程应用:用TimerTask于Timer任意时间调度任务
- python每隔1s执行相同任务非阻塞模式
- Oracle DBMS_JOB:每隔特定时间执行特定任务
- Windows 添加计划任务 每隔一定时间执行指定批处理脚本
- 计时器,每隔一定时间执行一个动作,用于抓取数据
- JS判断是否到达指定时间,执行任务,可以精确到秒。
- spring中集成TimerTask执行定时任务 中配置文件的配置
- java中实现定时任务每天规定时间执行任务一次