java实现定时器功能

/**
 * 具体实现类
 */
import java.util.Timer;

public class Test
{
 public Test(){}
 
 public void run()
 {
  MyTask myTask = new MyTask();
  
  Timer timer = new Timer(true);
  timer.schedule(myTask,0,1000);
  
  
  //test system process
  while(true)
  {
   System.out.println("system in working !");
   try {
    Thread.currentThread().sleep(3000);
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Test test = new Test();
  test.run();
 }

 
}

/**
 * 任务执行类
 */
import java.util.TimerTask;

public class MyTask extends TimerTask
{
 /**
  * default construction
  */
 public MyTask(){};
 
 /**
  * run function
  */
 public void run()
 {
  //do somthing
  System.out.println("new task is working !!");
 }
}

 

public Timer(boolean isDaemon)

 

 
创建一个新计时器,可以指定其相关的线程作为守护程序运行。如果计时器将用于安排重复的“维护活动”,则调用守护线程,在应用程序运行期间必须调用守护线程,但是该操作不应延长程序的生命周期。

 

参数:
isDaemon - 如果应该将相关的线程作为守护程序运行,则为 true。

  守护线程与普通线程的唯一区别是:当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则不会退出。(以上是针对正常退出,调用System.exit则必定会退出)   
  所以setDeamon(true)的唯一意义就是告诉JVM不需要等待它退出,让JVM喜欢什么退出就退出吧,不用管它。   
  无论是什么线程,都一定会分时间片执行的,和上面的检测拼写及输入并没有任何关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值