温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java 中怎么定时调用Timer测试

发布时间:2021-07-22 16:57:10 来源:亿速云 阅读:324 作者:Leah 栏目:编程语言

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测试问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI