java Timer测试定时调用及固定时间执行代码示例

 更新时间:2018年02月11日 11:11:35   作者:Alioo-壞人  
这篇文章主要介绍了java Timer测试定时调用及固定时间执行代码示例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下

本文实例主要进行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

总结

以上就是本文关于java Timer测试定时调用及固定时间执行代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • java读取文件内容的三种方法代码片断分享(java文件操作)

    java读取文件内容的三种方法代码片断分享(java文件操作)

    本文介绍java读取文件内容的三种方法,代码可以直接放到程序中使用,大家参考使用吧
    2014-01-01
  • 使用spring的IOC解决程序耦合的方法

    使用spring的IOC解决程序耦合的方法

    这篇文章主要介绍了使用spring的IOC解决程序耦合的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Java方法引用原理实例解析

    Java方法引用原理实例解析

    这篇文章主要介绍了Java方法引用的原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-08-08
  • javaweb项目如何实现手机短信登录

    javaweb项目如何实现手机短信登录

    这篇文章主要介绍了javaweb项目如何实现手机短信登录,手机号登录在现在的项目中用的场景非常多,实现起来也不难,今天我们就一起来通过演示实现登录过程,需要的朋友可以参考下
    2019-07-07
  • 利用Java实现复制Excel工作表功能

    利用Java实现复制Excel工作表功能

    这篇文章主要给大家介绍了关于如何利用Java实现复制Excel工作表功能的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • 解析Linux系统中JVM内存2GB上限的详解

    解析Linux系统中JVM内存2GB上限的详解

    本篇文章是对Linux系统中JVM内存2GB上限进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 使用Rhino让java执行javascript的方法实例

    使用Rhino让java执行javascript的方法实例

    这篇文章主要介绍了java使用Rhino执行javascript的方法,Rhino由Mozilla开发,是 JavaScript 一种基于Java的实现
    2013-12-12
  • 深入理解Java中1是true0是false

    深入理解Java中1是true0是false

    Java中,1可以被看作是true,0可以被看作是false,本文就来进行详细的讲解,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • gateway基本配置教程

    gateway基本配置教程

    路由(Route)由一个ID,一个目标URI(最终路由到的url地址),一组断言(匹配条件判断)和一组过滤器定义,这篇文章主要介绍了gateway基本配置,需要的朋友可以参考下
    2023-05-05
  • MyBatis使用Zookeeper保存数据库的配置可动态刷新的实现代码

    MyBatis使用Zookeeper保存数据库的配置可动态刷新的实现代码

    这篇文章主要介绍了MyBatis使用Zookeeper保存数据库的配置,可动态刷新,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08

最新评论