java 定时器 Timer
程序员文章站
2022-05-28 18:24:09
...
import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /** * 定时器 timer (功能有限,只能采用[秒数等]计算定时), 其他更好的工具 quartz ,spring scheduler */ public class TraditionalTimerTest { static int count=0; /** * @param args */ public static void main(String[] args) { //不写 3000,就只 1s钟后 开始爆炸 //写3000,就是1s后爆炸 然后隔 3s再炸下,循环 new Timer().schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub System.out.println("bombing!"); } }, 1000,3000); //定时器 ,10后爆炸 //2s后 炸,然后 2s后 再炸 继续这样 new Timer().schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub System.out.println("bombing!"); new Timer().schedule(new TimerTask(){ @Override public void run() { // TODO Auto-generated method stub System.out.println("bombing!"); } }, 4000); //如果为2000 就是 2s 的循环爆炸, 如果为 4000 就是 2 s 4s 的交替 执行 } }, 2000,6000); //定时器 ,10后爆炸 //另一种思路实现上面的 每隔2s 4s 4s 4s 连环 爆炸 class MyTimerTask extends TimerTask{ @Override public void run() { System.out.println("bombing!"); new Timer().schedule(new MyTimerTask(), 4000); } } new Timer().schedule(new MyTimerTask(), 2000); //另一种思路实现上面的 每隔2s 4s 2s 4s 连环 爆炸 class MyTimerTask1 extends TimerTask{ @Override public void run() { count=(count++)%2; System.out.println("bombing!"); new Timer().schedule(new MyTimerTask1(), 2000+2000*count); //如果为2000 就是 2s 的循环爆炸, 如果为 4000 就是 2 s 4s 的交替 执行 } } //指定的时间 点 开始执行,然后 间隔 2s执行一次 Calendar cal=Calendar.getInstance(); cal.add(Calendar.SECOND, 10); new Timer().schedule(new TimerTask(){ @Override public void run() { // TODO Auto-generated method stub System.out.println("bombing!"); } }, cal.getTime(), 2000); //打印计时 while(true){ System.out.println(new Date().getSeconds()); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } } } }
上一篇: jdk1.5 锁 Lock 和 Condition
下一篇: java 多线程ThreadLocal
推荐阅读
-
Android Studio启动报错Java 1.8 or later is required的解决方法
-
HBase 系列(六)——HBase Java API 的基本使用
-
Java日期时间API系列5-----Jdk7及以前的日期时间类TimeUnit在并发编程中的应用
-
Java语法进阶12-集合
-
通过Java实现批量导入数据到SQLServer数据库
-
Java 学习之路让我帮助很大的书籍
-
Java入门——在Linux环境下安装JDK并配置环境变量
-
探索JAVA并发 - 可重入锁和不可重入锁
-
Java内存模型之有序性问题
-
天下代码一大抄,整个案例的搬是什么鬼!疑似冒充蚂蚁金服高级Java开发工程师?你大爷