
(一)定时任务类Timer中schedule的new TimerTask()方法的使用示例(简单的)
项目开发中经常用到定时任务,本篇对定时任务类Timer中schedule的new TimerTask()方法的使用进行说明,以下代码示例内容:
示例一: 需求:10秒之后爆炸一次(用炸弹为例)
package com.test.timer; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /* * 需求: * 10秒之后爆炸一次 * */ public class TimerTest01 { public static void main(String[] args){ //定时器:10秒之后爆炸 new Timer().schedule(new TimerTask() { @Override public void run() { System.out.println("爆炸一次!"); } }, 10000); while(true){ System.out.println("系统当前秒数:" + new Date().getSeconds() + "s"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }运行结果:
示例二: 需求:10秒之后爆炸一次,之后每隔2秒爆炸一次。(能重复炸)
package com.test.timer; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /* * 需求: * 10秒之后爆炸一次,之后每隔2秒爆炸一次。 * */ public class TimerTest02 { public static void main(String[] args){ //定时器:10秒之后每隔2秒爆炸一次 new Timer().schedule(new TimerTask() { @Override public void run() { System.out.println("爆炸一次!"); } }, 10000,2000); while(true){ System.out.println("系统当前秒数:" + new Date().getSeconds() + "s"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }运行结果:
示例三: 需求:5秒之后开始爆炸,之后每隔2秒爆炸一次,再间隔4秒爆炸一次,然后每隔2秒和4秒进行循环爆炸。
package com.test.timer; import java.util.Date; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.CountDownLatch; /* * 需求: * 5秒之后开始爆炸,之后每隔2秒爆炸一次,再间隔4秒爆炸一次,然后每隔2秒和4秒进行循环爆炸。 * */ public class TimerTest03 { private static int count = 1; public static void main(String[] args){ class MyTimerTask extends TimerTask { @Override public void run() { count = (count + 1)%2; System.out.println("爆炸一次!"); new Timer().schedule(new MyTimerTask(), 2000+2000*count); } } new Timer().schedule(new MyTimerTask(), 5000); while(true){ System.out.println("当前系统秒数:" + new Date().getSeconds() + "s"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }运行结果:
👁️ 阅读量:0
© 版权声明:本文《(一)定时任务类Timer中schedule的new TimerTask()方法的使用示例(简单的)》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686477503a264076.html。