Java定时器(一)Timer类和TimerTask类

Java定时器(一)Timer类和TimerTask类

Java定时器(一)Timer类和TimerTask类

方式一:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date date)

[java] view plain copy

  1. <span style="font-family:Microsoft YaHei;font-size:18px;">  public static void main(String[] args) throws Exception {
  2.         // TODO Auto-generated method stub
  3.         new Timer().schedule(new TimerTask() {
  4.             @Override
  5.             public void run() {
  6.               System.out.println("……这里是逻辑代码……");
  7.             }
  8.         }, 5000);
  9.         while(true){
  10.             Thread.sleep(1000);
  11.             System.out.println(new Date().getSeconds());
  12.         }
  13.     }</span>

 

此代码的结果是5秒后输出"……这里是逻辑代码……"

方式二:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行 schedule(TimerTask task,long delay,long period)

[java] view plain copy

  1. <span style="font-family:Microsoft YaHei;font-size:18px;">public static void main(String[] args) throws Exception {
  2.         // TODO Auto-generated method stub
  3.         new Timer().schedule(new TimerTask() {
  4.             @Override
  5.             public void run() {
  6.                 System.out.println("………这里是逻辑代码………");
  7.             }
  8.         }, 5000,5000);
  9.         while(true){
  10.             Thread.sleep(1000);
  11.             System.out.println(new Date().getSeconds());
  12.         }
  13.     }</span>

 

此段代码输出结果为延迟5秒后,每隔5秒输出"……这里是逻辑代码……"

方式三:设定指定任务task在指定开始时间firstTime开始后进行固定频率peroid的执行 schedule(TimerTask task,Date firstTime,long period)

[java] view plain copy

  1. <span style="font-family:Microsoft YaHei;font-size:18px;">public static void main(String[] args) throws Exception {
  2.         // TODO Auto-generated method stub
  3.         new Timer().schedule(new TimerTask() {
  4.             @Override
  5.             public void run() {
  6.                 System.out.println("……这里是逻辑代码……");
  7.             }
  8.         },new Date(), 5000);
  9.         while(true){
  10.             Thread.sleep(1000);
  11.             System.out.println(new Date().getSeconds());
  12.         }
  13.     }</span>

 

这里的代码输出结果为在当前时间开始后马上输出"……这里是逻辑代码……",之后每隔5秒输出"……这里是逻辑代码……"

原文地址http://www.bieryun.com/1859.html