Thread Sleep 和Timer

1. Thread.sleep()休眠的目前正在执行的线程,比如下面的类里,当前线程指的是main主线程。

public static void main(String[] args)
 {
  Timer timer =new Timer();
  //1000毫秒等于1秒
  timer.schedule(new DelayTask(), 1000);
  
  try {
   System.out.println(Thread.currentThread().getName() + "ddddddddd");
   Thread.sleep(5000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  System.out.println("22222222222222");
  timer.cancel();
 }

2. timer 这个java 提供的定时任务器有如下特点:

1. 他是一个单线程,也就是说你启动一个timer 定时器就是启动了一个线程。

2. timer 定时器默认情况下不是守护线程,但是可以通过构造函数设置为守护线程,守护线程在没有其他线程运行的情况下会自动关掉。

3. 使用timer 定时器 的时候 要 跟一个timerTask 结合来使用,在timerTask 底层就是一个队列,在timer定时器任务线程里面挨个的去执行。


一个timer 对象只有一个timer 线程,这一位着定时任务不能耗时太长,更不能是一个无限循环的定时任务。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值