admin管理员组文章数量:1794759
(一)定时任务类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(); } } } }运行结果:
版权声明:本文标题:(一)定时任务类Timer中schedule的new TimerTask()方法的使用示例(简单的) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686477286a71882.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论