A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. 定时器的使用

  2.                 Timer timer=new Timer("timer");
  3.                 TimerTask task=new TimerTask() {
  4.                        
  5.                         @Override
  6.                         public void run() {
  7.                                 System.out.println("TimerTask....");
  8.                                
  9.                         }
  10.                 };
  11.                 timer.scheduleAtFixedRate(task, 0,1000);
  12.                
  13. /**
  14.          * 每天的晚上一点发送电子邮件
  15.          * @param args
  16.          */
  17.         public static void main(String[] args) {
  18.                 Timer timer=new Timer("SendMailTimeTask");
  19.                 SendMailTimeTask task=new SendMailTimeTask();
  20.                 Calendar calendar=Calendar.getInstance();
  21.                 calendar.set(2013,Calendar.JULY ,28, 1,0);
  22.                 timer.scheduleAtFixedRate(task, calendar.getTime(), 5*1000);

  23.         }       


  24. Timer类包含的方法有:
  25.   1.Timer()
  26.   以常规方式运行task
  27.   2.Timer(boolean)
  28.   true时使用后台进程线程。只要剩下的程序记叙运行,后台进程线程就会执行。
  29.   3.public void cancel()
  30.   终止Timer的功能执行,但不会对正在执行的任务有影响。当执行cancel方法后将不能再用其分配任务。
  31.   4.public void schedule(TimerTask task,Date time)
  32.   task被安排在time指定的时间执行,如果时间为过去时则任务立刻执行。
  33.   5.public void schedule(TimerTask task, Date firstTime, long period)
  34.   task被安排在time指定的时间执行,执行后将每隔period(毫秒)反复执行。
  35. 由于规定的时间间隔并不能保证与时钟精准的同不步,执行时间间隔period和前一次执行有关,
  36. 所以该方法最适合从短期看保持频率准确是更重要的的地方
  37. 和scheduleAtFixedRate(TimerTask task,Date firstTime, long period) 主要区别在于 该时间间隔与前一个相隔 the previous execution
  38.   6.public void schedule(TimerTask task, long delay)
  39.   task被安排在delay(毫秒)指定的时间后执行。
  40.   7.public void schedule(TimerTask task,long delay, long period)
  41.   task被安排在delay(毫秒)指定的时间后执行。执行后将每隔period(毫秒)反复执行。
  42.   8.public void scheduleAtFixedRate(TimerTask task,Date firstTime, long period)
  43.   task被安排在firstTime指定的时间执行。
  44.   执行后将每隔period(毫秒)反复执行。每一次重复的时间时和第一次执行而不是和前一次执行有关。因此执行的总速度是固定的。
  45.   9.public void scheduleAtFixedRate(TimerTask task,long delay,long period)
  46.   task被安排在delay(毫秒)指定的时间后执行。执行后将每隔period(毫秒)反复执行。每一次重复的时间时盒第一次执行而不是和前一次执行有关。因此执行的总速度是固定的。
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1

查看全部评分

1 个回复

倒序浏览
{:soso_e134:}大神你这是在自问自答?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马