package timer; import java.util.Timer; import java.util.TimerTask; /** * 在高级点的 定时器 请百度 开元工具 quartz eg: 周一 到周五 执行XXX * 下面介绍的 timer类仅仅能执行 指定开始时间,指定执行频率的功能, 无法指定结束时间。 * @author zm * */ public class MyTimer { /** * 定时器执行方法 请参考api */ public static void main(String[] args) { Timer myTimer = new Timer(); /*myTimer.schedule(new TimerTask(){ @Override public void run() { System.out.println("bombing!"); } }, 1000);// 延迟1S后执行爆炸 */ /*myTimer.schedule(new TimerTask(){ @Override public void run() { System.out.println("bombing!"); } }, 1000,3000);// 延迟1S后执行第一次爆炸 然后每隔3S执行一次爆炸 */ /* // 1S后母弹爆炸 2S后子弹爆炸 效果 myTimer.schedule(new TimerTask(){ @Override public void run() { System.out.println("mother bombing!"); // 母弹爆炸 new Timer().schedule(new TimerTask(){ @Override public void run() { System.out.println("son bombing!"); } }, 2000); // 子弹爆炸 } }, 1000);*/ // 自定义实现 2S后爆炸一次, 然后以2S为间隔持续进行爆炸效果 // myTimer.schedule(new MyTimerTask(), 2000); // 实现间隔2s 4s形式来执行爆炸 myTimer.schedule(new MyTimerTask1(), 2000); } } class MyTimerTask extends TimerTask { @Override public void run() { System.out.println("bombing!"); // 在自身对象爆炸时, 新建出另一个定时器bombing,等待下次爆炸 new Timer().schedule(new MyTimerTask(), 2000); } } class MyTimerTask1 extends TimerTask { static int count = 1; int result = count%2; @Override public void run() { System.out.println(count + " bombing!"); // 在自身对象爆炸时, 新建出另一个定时器bombing,等待下次爆炸 new Timer().schedule(new MyTimerTask1(), 2000*(1 + result)); count++; } }
定时器Timer简介
猜你喜欢
转载自chengjianxiaoxue.iteye.com/blog/2144177
今日推荐
周排行