标准库中的定时器
 •  
 
 标准库中提供了⼀个 Timer 类. Timer 类的 核⼼⽅法为 schedule .  
 
 •  
 
 schedule  包含两个参数. 第⼀个参数指定即将要执⾏的任务代码, 第⼆个参数指定多⻓时间之后  
 
 执⾏ (单位为毫秒).  
 
 Timer timer  =  new  Timer ();  
 
 timer.schedule( new  TimerTask () {  
 
 @Override  
 
 public void  run () {  
 
 System.out.println( "hello" );  
 
 }  
 
 },  3000 );  
 
 
实现定时器
 定时器的构成  
 
 •  
 
 ⼀个带优先级队列(不要使⽤ PriorityBlockingQueue, 容易死锁!)  
 
 •  
 
 队列中的每个元素是⼀个 Task 对象.  
 
 •  
 
 Task 中带有⼀个时间属性, 队⾸元素就是即将要执⾏的任务  
 
 •  
 
 同时有⼀个 worker 线程⼀直扫描队⾸元素, 看队⾸元素是否需要执⾏