java Timer测试定时调用及固定时间执行代码示例
作者:Alioo-壞人 时间:2023-12-09 14:36:44
本文实例主要进行java Timer(定时调用、固定时间执行)测试,具体实现代码如下。
测试1
当任务执行时间小于重复执行的间隔时间
代码:
public class TimerTest2 {
public static void main(String[] args) throws InterruptedException {
Timer timer = new Timer();
timer.schedule(new MyTask(0), 1000, 10000);
//timer.schedule(new MyTask(1), 1000, 10000);
}
static class MyTask extends TimerTask {
private final int i;
public MyTask(int i) {
this.i = i;
}
@Override
public void run() {
System.out.println(i + "dddd" + DateTimeUtil.getDateTimeString("yyyy-MM-dd HH:mm:ss.SSS"));
try {
if (i == 0) {
Thread.sleep(8000L);
} else {
Thread.sleep(13000L);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
结果:
0dddd2018-01-11 15:34:57.826
0dddd2018-01-11 15:35:07.824
0dddd2018-01-11 15:35:17.824
0dddd2018-01-11 15:35:27.824
0dddd2018-01-11 15:35:37.824
0dddd2018-01-11 15:35:47.824
0dddd2018-01-11 15:35:57.824
0dddd2018-01-11 15:36:07.824
0dddd2018-01-11 15:36:17.824
0dddd2018-01-11 15:36:27.824
0dddd2018-01-11 15:36:37.824
0dddd2018-01-11 15:36:47.824
0dddd2018-01-11 15:36:57.824
0dddd2018-01-11 15:37:07.824
0dddd2018-01-11 15:37:17.824
0dddd2018-01-11 15:37:27.824
0dddd2018-01-11 15:37:37.824
测试2
当任务执行时间大于重复执行的间隔时间
代码:
public class TimerTest2 {
public static void main(String[] args) throws InterruptedException {
Timer timer = new Timer();
//timer.schedule(new MyTask(0), 1000, 10000);
timer.schedule(new MyTask(1), 1000, 10000);
}
static class MyTask extends TimerTask {
private final int i;
public MyTask(int i) {
this.i = i;
}
@Override
public void run() {
System.out.println(i + "dddd" + DateTimeUtil.getDateTimeString("yyyy-MM-dd HH:mm:ss.SSS"));
try {
if (i == 0) {
Thread.sleep(8000L);
} else {
Thread.sleep(13000L);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
结果:
1dddd2018-01-11 16:03:07.575
1dddd2018-01-11 16:03:20.601
1dddd2018-01-11 16:03:33.602
1dddd2018-01-11 16:03:46.603
1dddd2018-01-11 16:03:59.604
1dddd2018-01-11 16:04:12.606
1dddd2018-01-11 16:04:25.607
1dddd2018-01-11 16:04:38.608
来源:http://blog.csdn.net/hl_java/article/details/79035344
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java判断所给年份是平年还是闰年
shiro之记住登录信息
SpringBoot yaml中的数组类型取值方式
Java使用DateFormatter格式化日期时间的方法示例
![](https://img.aspxhome.com/file/2023/2/70322_0s.jpg)
浅谈HashMap中7种遍历方式的性能分析
![](https://img.aspxhome.com/file/2023/1/118831_0s.png)
spring循环注入异常问题的解决方案
JAVA演示阿里云图像识别API,印刷文字识别-营业执照识别
c#固定长度的随机字符串例子
Java Scala实现数据库增删查改操作详解
![](https://img.aspxhome.com/file/2023/0/61830_0s.png)
Android设计模式之单例模式详解
Java多线程案例之单例模式懒汉+饿汉+枚举
![](https://img.aspxhome.com/file/2023/0/77130_0s.png)
一文掌握Spring的创建与使用
![](https://img.aspxhome.com/file/2023/5/125555_0s.jpg)
Android实现MVVM架构数据刷新详解流程
![](https://img.aspxhome.com/file/2023/5/92615_0s.png)
Java中lock和tryLock及lockInterruptibly的区别
![](https://img.aspxhome.com/file/2023/7/96127_0s.webp)
Java抛出异常与自定义异常类应用示例
![](https://img.aspxhome.com/file/2023/7/60327_0s.png)
c#求范围内素数的示例分享(c#求素数)
Java对象不使用时赋值null的意义详解
![](https://img.aspxhome.com/file/2023/4/59884_0s.png)