• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

多线程_几种定时器的写法

java 搞代码 4年前 (2022-01-09) 9次浏览 已收录 0个评论

1 :固定时间后执行一次任务:1000毫秒后执行任务(只执行一次)

2: 5000毫秒后,执行任务,以后每隔1000毫秒再执行一次任务(无限执行)

3:交替再生:任务2秒4秒交替的执行(无限执行),

4: 创建两个循环交替任务:2秒后,A任务执行。 A任务里面创建一个B任务4秒后执行,B任务里面又创建一个A任务2秒后执行,如此往复。

1,2,3代码:

import java.util.Date;  import java.util.Timer;  import java.util.TimerTask;  /**  * @author Administrator @zsw 2012-7-19 下午04:37:19  */  public class TraditionalTimer {      public static void main(String[] args) {          //1:  //      test1();                    //2:  //      test2();                    //3:          test3();          //用于打印时间秒数          while (true) {              System.out.println(new Date().getSeconds());              try {                  Thread.sleep(1000);              } catch (InterruptedException e) {                  // TODO Auto-generated catch block                  e.printStackTrace();              }          }                          }        //1:固定时间后执行一次任务:1000毫秒后执行任务(只执行一次)      public static void test1() {          new Timer().schedule(new TimerTask() {              @Override              public void run() {                  // TODO Auto-generated method stub                  System.out.println("bombing!");              }          }, 1000);      }        // 2:5000毫秒后,执行任务,以后每隔1000毫秒再执行一次任务(无限执行)      public static void test2() {          new Timer().schedule(new TimerTask() {              @Override              public void run() {                  // TODO Auto-generated method stub                  System.out.println("bombing!");              }          }, 5000, 1000);      }              //3:交替再生:任务2秒4秒交替的执行(无限执行),      static int count = 0;      public static void test3() {            class MyTimerTask extends TimerTask {              @Override              public void run() {                  count = (count + 1) % 2;                  System.out.println("bombing!");                  new Timer().schedule(new MyTimerTask(), 2000 + count * 2000);              }          }          new Timer().schedule(new MyTimerTask(), 2000);      }    }

4代码

import java.util.Date;  import java.util.Timer;  import java.util.TimerTask;    /**  * @author Administrator @zsw 2012-7-20 下午08:08:42  */  public class TraditionalTime2 {            /*      * 创建两个循环交替任务:2秒后,A任务执行。      * A任务里面创建一个B任务4秒后执行,B任务里面又创建一个A任务2秒后执行,,如此往复。      *       */      public static void main(String[] args) {          TraditionalTime2 t2=new TraditionalTime2();          new Timer().schedule(t2.new A(), 2000);                     //用于打印时间秒数          while (<a style="color:transparent">本文来源gao($daima.com搞@代@#码(网5</a>true) {              System.out.println(new Date().getSeconds());              try {                  Thread.sleep(1000);              } catch (InterruptedException e) {                  // TODO Auto-generated catch block                  e.printStackTrace();              }          }      }      class A extends TimerTask {          @Override          public void run() {              System.out.println("A bombing!");              new Timer().schedule(new B(), 4000);            }        }        class B extends TimerTask {          @Override          public void run() {              System.out.println("B bombing!");              new Timer().schedule(new A(), 2000);            }      }  }

更多 多线程_几种定时器的写法相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:多线程_几种定时器的写法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址