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 线程,这一位着定时任务不能耗时太长,更不能是一个无限循环的定时任务。