java定时器复习

来源:互联网 发布:windows最新更新 编辑:程序博客网 时间:2024/06/06 14:11
 

public class TraditionalTimerTest {

 private static int count = 0;
 public static void main(String[] args) {
new Timer().schedule(new TimerTask() {//java定时器复习,定时器可以有几种方式实例化
 
 @Override
 public void run() {
  // TODO Auto-generated method stub
  System.out.println("wl");
 }
}, 1000);// 一秒后触发一次

new Timer().schedule(new TimerTask() {
  
  @Override
  public void run() {
   // TODO Auto-generated method stub
   System.out.println("wlz");
  }
 }, 1000, 2000); //循环触发
 

//下面的例子是为了实现先两秒触发,然后四秒触发,然后又两秒触发,然后交替循环
//假如以后项目中遇到比如要实现一些定时器触发的算法,比如周三晚上凌晨三点定时收邮件等
//记得quartz开源的东西可以用来处理定时处理的一些处理
MyTimerTask extends TimerTask{
   @Override
   public void run() {
    count = (count+1)%2;
    System.out.println("bombing!");
    new Timer().schedule(/*new TimerTask() {
     
     @Override
     public void run() {
      System.out.println("bombing!");
     }
    }*/new MyTimerTask(),2000+2000*count);
   }
  }
  
  new Timer().schedule(new MyTimerTask(), 2000);
  
  while(true){
   System.out.println(new Date().getSeconds());
   try {
    Thread.sleep(1000);
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }