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
当任务执行时间大于重复执行的间隔时间
代码:
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
关于java 中怎么定时调用Timer测试问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。