java中timer定时执行程序,java timer 线程

  java中timer定时执行程序,java timer 线程

  定时/计划功能主要使用的就是计时器对象,它在内部还是使用多线程的方式进行处理,所以它和线程技术还是有非常大的关联。

  计时器类主要作用就是设置计划任务,但封装任务的类却是任务类任务类是一个抽象类。

  执行任务的时间晚于当前时间-----在未来执行的效果

  导入Java。util。日期;

  导入Java。util。timertask

  公共类我的任务扩展TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(任务执行了,时间为: new Date());

  }

  }

  公共类测试1 {

  公共静态void main(String[] args){

  System.out.println(当前时间为: new Date());

  日历日历参考=日历。getinstance();

  calendarRef.add(Calendar .第二,10);

  日期运行日期=日历参考。gettime();

  我的任务task=新建我的任务();

  //查看计时器构造方法,创建一个计时器就是启动一个新的线程

  Timer Timer=new Timer();

  定时器.时间表(任务,运行日期);//定时器在某个时间(运行日期)执行某个任务(任务)

  }

  }免费在线学习视频分享:java视频

  Timer中允许有多个TimerTask任务及延时的测试

  任务是以队列的方式一个一个被顺序性地执行,所以执行时间有可能和预期的时间不一致,因为前面的任务有可能消耗的时间较长,则后面的任务运行的时间也被延后。

  导入Java。util。日期;

  导入Java。util。timertask

  公共类MyTaskA扩展了TimerTask{

  @覆盖

  公共无效运行(){

  尝试{

  System.out.println(开始计时器,时间为: new Date());

  线程。睡眠(20000);

  System.out.println(结束计时器,时间为: new Date());

  } catch (InterruptedException e) {

  e。printstacktrace();

  }

  }

  }

  导入Java。util。日期;

  导入Java。util。timertask

  公共类MyTaskB扩展TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(B开始计时器,时间为: new Date());

  System.out.println(B结束计时器,时间为: new Date());

  }

  }

  导入Java。util。日历;

  导入Java。util。日期;

  导入Java。util。计时器;

  公共类测试1 {

  公共静态void main(String[] args){

  System.out.println(当前时间为: new Date());

  日历日历f1=日历。getinstance();

  日期运行日期1=日历参考1。gettime();

  System.out.println(A计划时间为:‘运行日期1);

  日历F2=日历。getinstance();

  calendarRef2.add(日历。第二,10);

  日期运行日期2=日历参考2。gettime();

  System.out.println(B计划时间为:‘运行日期2);

  MyTaskA task 1=new MyTaskA();

  MyTaskB task 2=new MyTaskB();

  Timer Timer=new Timer();

  timer.schedule(任务1,运行日期1);//定时器在某个时间(运行日期)执行某个任务(任务)

  timer.schedule(任务2,运行日期2);

  }

  }schedule(TimerTask task, Date firstTime, long period)

  该方法的作用是在指定的日期之后按指定的间隔周期,无限循环地执行某一任务。

  导入Java。util。日期;

  导入Java。util。timertask

  公共类我的任务扩展TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(任务开始: new Date());

  System.out.println(mytask . );

  System.out.println(任务结束: new Date());

  }

  }

  导入Java。util。日历;

  导入Java。util。日期;

  导入Java。util。计时器;

  公共类运行{

  公共静态void main(String[] args){

  System.out.println(当前时间为: new Date());

  日历c=日历。getinstance();

  c.add(日历。第二,10);

  date run date 1=c . gettime();

  System.out.println(计划时间为:‘运行日期1);

  我的任务我的任务=新建我的任务();

  Timer Timer=new Timer();

  定时器.时间表(我的任务,运行日期1,10000);

  }

  }TimerTask类的cancel()方法

  任务类中的取消()方法的作用是将自身从任务队列中进行清除。

  导入Java。util。日期;

  导入Java。util。timertask

  公共类MyTaskA扩展了TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(A运行计时器=新日期());

  这个。cancel();

  System.out.println(A任务自己移除自己);

  }

  }

  导入Java。util。日期;

  导入Java。util。timertask

  公共类MyTaskB扩展TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(B运行计时器=新日期());

  }

  }

  导入Java。util。日历;

  导入Java。util。日期;

  导入Java。util。计时器;

  公共类运行{

  公共静态void main(String[] args){

  System.out.println(当前时间为: new Date());

  日历c=日历。getinstance();

  date run date 1=c . gettime();

  System.out.println(计划时间为:‘运行日期1);

  MyTaskA MyTaskA=new MyTaskA();

  MyTaskB MyTaskB=new MyTaskB();

  Timer Timer=new Timer();

  timer.schedule(myTaskA,runDate1,4000);

  timer.schedule(myTaskB,rundate 14000);

  }

  }Timer的cancel()方法

  和任务类中的取消()方法清除自身不同,计时器类中的取消()方法作用是将任务队列中全部的任务进行清空。

  导入Java。util。日期;

  导入Java。util。timertask

  公共类MyTaskA扩展了TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(A运行计时器=新日期());

  这个。cancel();

  System.out.println(A任务自己移除自己);

  }

  }

  导入Java。util。日期;

  导入Java。util。timertask

  公共类MyTaskB扩展TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(B运行计时器=新日期());

  }

  }

  导入Java。util。日历;

  导入Java。util。日期;

  导入Java。util。计时器;

  公共类运行{

  公共静态void main(String[] args){

  System.out.println(当前时间为: new Date());

  日历c=日历。getinstance();

  date run date 1=c . gettime();

  System.out.println(计划时间为:‘运行日期1);

  MyTaskA MyTaskA=new MyTaskA();

  MyTaskB MyTaskB=new MyTaskB();

  Timer Timer=new Timer();

  timer.schedule(myTaskA,runDate1,4000);

  timer.schedule(myTaskB,rundate 14000);

  }

  }schedule(TimerTask task, long delay)

  该方法的作用是以执行计划(TimerTask任务,长延迟)方法当前的时间为参考时间,在此时间基础上延迟指定的毫秒数后执行一次任务任务。

  导入Java。util。日期;

  导入Java。util。timertask

  公共类我的任务扩展TimerTask{

  @覆盖

  公共无效运行(){

  System.out.println(A运行计时器=新日期());

  }

  }

  导入Java。util。日历;

  导入Java。util。日期;

  导入Java。util。计时器;

  公共类运行{

  公共静态void main(String[] args)引发中断的异常{

  System.out.println(当前时间为: new Date());

  日历c=日历。getinstance();

  date run date 1=c . gettime();

  System.out.println(计划时间为:‘运行日期1);

  我的任务我的任务=新建我的任务();

  Timer Timer=new Timer();

  定时器.时间表(我的任务,7000);//计划任务延迟七秒后执行

  线程。睡眠(10000);

  计时器。cancel();

  }

  }更多相关文章教程推荐:java入门教程以上就是爪哇线程之计时器定时器的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: