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
猜你喜欢
- SharedPreferences在开发过程中,数据存取是较为频繁的,今天我们来了解下android几种常见的数据存取方式。在Android
- 单个和批量定义别名typeAliases使用Mybatis的别名typeAliases可以在xml文件里非常方便的使用类,而不需要写出这个类
- Java自定义动态数组1、静态数组向动态数组转变(1)静态数组,数组空间固定长度这个数组空间总长为4,如果此时新插入一个数据就会报数组空间不
- 404这个错误真的是一言难尽!不过大多是配置文件出错,认真修改还是可以的1.web.xml配置错误:默认首页没有写的,在web.xml添加一
- 一、Jvm加载对象在说Java * 之前,还是要说一下Jvm加载对象的过程,这个依旧是理解 * 的基础性原理:Java类即源代码程序.j
- 自定义Starter命名规则注意artifactId的命名规则,Spring官方Starter通常命名为spring-boot-starte
- 在C# winform应用程序中,用以下代码可以进行一些内存使用的优化using System;using System.Diagnosti
- C#剪切板Clipboard类我们现在先来看一下官方文档的介绍位于:System.Windows.Forms 命名空间下Provides m
- 前言现在的项目一般是拆分成一个个独立的模块,当在其他项目中想要使用独立出来的这些模块,只需要在其pom.xml使用<dependenc
- 目录一、Java 类加载过程1、字节码编译2、加载3、连接4、初始化总结一、Java 类加载过程1、字节码编译编写好 Java 源码 Stu
- 使用注解来配置Action可以实现零配置,零配置将从基于纯XML的配置转化为基于注解的配置。使用注解,可以在大多数情况下避免使用
- 桶排序桶排序是计数排序的升级,计数排序可以看成每个桶只存储相同元素,而桶排序每个桶存储一定范围的元素,通过函数的某种映射关系,将待排序数组中
- 这里主要介绍的是优先队列的二叉堆Java实现,代码如下:package practice;import edu.princeton.cs.a
- 什么是RecyclerView关于RecyclerView,是一个主要用于展示和回收View的有一个控件,在官用了一句话来概括Recycle
- 本文实例为大家分享了Java swing读取txt文件实现学生考试系统的具体代码,供大家参考,具体内容如下主要实现了一个简单的倒计时答题系统
- 一、什么是Memcached?Memcached是danga.com开发的分布式内存对象缓存系统,所谓分布式,意味着它不是本地的,而是基于网
- public class Count { public static void main(String[] args) { int i =
- 本文实例讲述了Android编程之手机壁纸WallPaper设置方法。分享给大家供大家参考,具体如下:/** * Andorid设置手机屏幕
- 一、interrupt的使用特点我们先看2个线程打断的示例首先是可打断的情况:@Testpublic void interruptedTes
- 分页使用可以说非常普遍了,有时候会需要非常灵活的方式去开启或关闭分页,尝试使用一 * 解的方式来进行分页。依赖安装需要使用的依赖:Mybati