在对DelayQueue延迟功能的使用上,很多人不能后完全理解延迟的一些功能使用,这里我们深入来挖掘一下DelayQueue的原理。下面将从构造方法、接口、继承体系三个方面进行分析,需要注意的是,相较于其它的阻塞队列,DelayQueue因为延迟的功能多了接口的使用,一起来看具体内容。
1.构造方法
publicDelayQueue(){}
publicDelayQueue(Collection<?extendsE>c){
this.addAll(c);
}
构造方法比较简单,一个默认构造方法,一个初始化添加集合c中所有元素的构造方法。
2.接口分析
publicinterfaceDelayedextendsComparable<Delayed>{
/**
*Returnstheremainingdelayassociatedwiththisobject,inthe
*giventimeunit.
*
*@paramunitthetimeunit
*@returntheremainingdelay;zeroornegativevaluesindicate
*thatthedelayhasalreadyelapsed
*/
longgetDelay(TimeUnitunit);
}
Delayed 接口有一个getDelay方法接口,该方法用来告知延迟到期有多长的时间,或者延迟在多长时间之前已经到期,是不是很简单。
为了排序Delayed 接口还继承了Comparable 接口,因此必须实现compareTo(),使其可以进行元素的比较。
3.继承体系
publicclassDelayQueue<EextendsDelayed>extendsAbstractQueue<E>implementsBlockingQueue<E>
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















































暂无评论内容