Java - Timer 的详细介绍

来源:互联网 发布:黑五买什么知乎 编辑:程序博客网 时间:2024/05/16 11:42

Timer的详细使用方法和介绍
Java Timer API http://www.apihome.cn/api/java/timer.html

效果展示:(方案2,4,5)
*效果图暂时上传不了,之后补上,也可自行运行

源码如下:

import java.util.Timer;  import java.util.TimerTask;import java.util.Calendar;import java.util.Date;import java.text.SimpleDateFormat;import java.awt.Toolkit;//方案1,定时5s后执行任务/*public class Java_Timer{      Timer timer;      public Java_Timer(int seconds){          timer = new Timer();          timer.schedule(new RemindTask(), seconds*1000);      }      class RemindTask extends TimerTask{          public void run(){              System.out.println("Time''s up!");              timer.cancel(); //Terminate the timer thread          }      }      public static void main(String args[]){          System.out.println("About to schedule task.");          new Java_Timer(5);          System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成     }  }*///方案2:实现指定时间的执行任务,并且打印出当前的时间/*public class Java_Timer{      //设置指定的时间    Timer timer;      public Java_Timer(){          Calendar calendar = Calendar.getInstance();        calendar.set(Calendar.HOUR_OF_DAY,15);        calendar.set(Calendar.MINUTE,51);        calendar.set(Calendar.SECOND,33);        Date time = calendar.getTime();        timer = new Timer();          timer.schedule(new RemindTask(), time);      }      class RemindTask extends TimerTask{          public void run(){              SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式            System.out.println(df.format(new Date()));// new Date()为获取当前系统时间            System.out.println("Time''s up!");              timer.cancel(); //Terminate the timer thread          }      }      public static void main(String args[]){          System.out.println("About to schedule task.");          new Java_Timer();          System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成     }  }*///方案3:5s定时时间到了,发出蜂鸣声----类似于方案1/*public class Java_Timer{      Timer timer;    Toolkit toolkit;    public Java_Timer(int seconds){          toolkit = Toolkit.getDefaultToolkit();        timer = new Timer();          timer.schedule(new RemindTask(), seconds*1000);      }      class RemindTask extends TimerTask{          public void run(){              System.out.println("Time''s up!");            toolkit.beep();            //timer.cancel(); //Terminate the timer thread              System.exit(0);        }      }      public static void main(String args[]){          System.out.println("About to schedule task.");          new Java_Timer(5);          System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成     }  }*///方案4:1s定时反复执行-----Success/*public class Java_Timer{      Timer timer;    Toolkit toolkit;    public Java_Timer(){          toolkit = Toolkit.getDefaultToolkit();        timer = new Timer();          timer.schedule(new RemindTask(), 0, 1000);      }      class RemindTask extends TimerTask{          int count = 4;        public void run(){              if(count > 0)            {                System.out.println("Beep");                toolkit.beep();                count--;            }            else{                System.out.println("End");                System.exit(0);            }            //timer.cancel(); //Terminate the timer thread          }      }      public static void main(String args[]){          System.out.println("About to schedule task.");          new Java_Timer();          System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成     }  }*///测试:实现的事20s定时,发出声响,并且显示定时的效果 == (每间隔1s就输出一次时间,直到20次)public class Java_Timer{      Timer timer;    Toolkit toolkit;    public Java_Timer(){          toolkit = Toolkit.getDefaultToolkit();        timer = new Timer();          timer.schedule(new RemindTask(), 0, 1000);      }      class RemindTask extends TimerTask{          int count = 15;        public void run(){              if(count > 0)            {                //System.out.println("Beep");                toolkit.beep();                System.out.println("00:00:"+count);                count--;            }            else{                System.out.println("I Love you  & Forever");                                System.exit(0);            }            //timer.cancel(); //Terminate the timer thread          }      }      public static void main(String args[]){          System.out.println("\t\t15s倒计时");          new Java_Timer();          System.out.println("Task scheduled.");  //此处的打印信息会立即执行,没有等待上步执行完成     }  }
1 0
原创粉丝点击