现在的位置: 首页 > web前端 > 正文

为什么java中 timer 使用 cancel后再次对timer类赋值会报错

2020年07月15日 web前端 ⁄ 共 676字 ⁄ 字号 评论关闭

  现在项目中用到需要定时去检查文件是否更新的功能。timer正好用于此处。用法很简单,new一个timer,然后写一个timertask的子类即可。


  java中timer使用cancel后再次对timer类赋值会报错


  packagecomz.autoupdatefile;


  importjava.util.Timer;


  importjava.util.TimerTask;


  publicclassM{


  publicstaticvoidmain(String[]args){


  //TODOtodo.generatedbyzoer


  Timertimer=newTimer();


  timer.schedule(newMyTask(),1000,2000);


  }


  }


  classMyTaskextendsTimerTask{


  @Override


  publicvoidrun(){


  System.out.println("dddd");


  }


  }


  这样,就可以在1秒钟之后开始执行mytask,每两秒钟执行一次。


  timer使用cancel后怎样


  当然,timer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。


  其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。


  总之,timer使用cancel后给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.