Timer计时器的使用

  最近在看到一个Timer的类,很想了解一下它。就去search了一下.写游戏经常会出现倒计时多少秒,java就是用这个写的,也有些不是用thread也可以.一般用计时器做什么??

“实现内部办公系统与外部网站一体化的时候,最重要的步骤就是从OA系统读取数据,并且根据网站模板生成最终的静态页面。这里就需要一个定时任务,循环的执行。” 这是一种情况吧,我这个需求是一个游戏需要从sever与客户端同步执行计时的动作。服务端查询数据描述然后返回一个true,客户端根据true,false执行读秒。这样类似同步执行了.

Timer.schedule(TimerTask task, long delay) 是Timer的一个方法,

它的注释是:"Schedules the specified task for execution after the specified delay".大概意思是:延迟delay后执行指定的任务,但不是重复执行。

Timer.schedule(TimerTask task, long delay, long period)是一个重载方法.

它的注释是:Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay.大概意思是:指定任务延迟delay开始时间后,反复的执行period固定时间,简单的说就是重复执行.

我的测试代码:

public class apps {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  StdBaccarat  stdBaccarat=new StdBaccarat(null);
 
  Timer timer = new Timer();
   timer.schedule(new ddd(10,timer),0,1000);
   System.out.println("执行完毕.....");
 }

}

 

计数器类:

public class ddd extends TimerTask {
    private Timer  timer;
 private int num;
 public ddd(int n,Timer tmer)
 {
    num=n; 
    timer=tmer;
 }
 @Override
 public void run() {
  // TODO Auto-generated method stub
          num--;
          //System.out.println("--");
 
              System.out.println("还有 "+num+"  秒");
              if(num <=0)
              {
               System.out.println("结束数秒.....");
               timer.cancel();           
 }

}


 

你可能感兴趣的:(thread,游戏)