技术文章 > java >  java基础 > 正文

java DelayQueue的原理

小妮浅浅

在对DelayQueue延迟功能的使用上,很多人不能后完全理解延迟的一些功能使用,这里我们深入来挖掘一下DelayQueue的原理。下面将从构造方法、接口、继承体系三个方面进行分析,需要注意的是,相较于其它的阻塞队列,DelayQueue因为延迟的功能多了接口的使用,一起来看具体内容。

1.构造方法

public DelayQueue() {}
 
public DelayQueue(Collection<? extends E> c) {
    this.addAll(c);
}

构造方法比较简单,一个默认构造方法,一个初始化添加集合c中所有元素的构造方法。

2.接口分析

public interface Delayed extends Comparable<Delayed> {
 
    /**
     * Returns the remaining delay associated with this object, in the
     * given time unit.
     *
     * @param unit the time unit
     * @return the remaining delay; zero or negative values indicate
     * that the delay has already elapsed
     */
    long getDelay(TimeUnit unit);
}

Delayed 接口有一个getDelay方法接口,该方法用来告知延迟到期有多长的时间,或者延迟在多长时间之前已经到期,是不是很简单。

为了排序Delayed 接口还继承了Comparable 接口,因此必须实现compareTo(),使其可以进行元素的比较。

3.继承体系

 

public class DelayQueue<E extends Delayed>extends AbstractQueue<E>implements BlockingQueue<E>

以上就是java DelayQueue的原理分析,学会后相信大家对其延迟删除的使用,会有更加深入的理解。如果还不太明白基础内容,可以多结合图片和代码进行理解。

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 java ArrayBlockingQueue的方法及不足点
 java中linkedblockingqueue用法
 linkedblockingqueue在java中的原理
 java中linkedblockingqueue的增加方法
 linkedblockingqueue在java中出队
 java中DelayQueue是什么
相关视频章节
 网络爬虫
 云端部署Web应用程序视频
 Web应用框架Flask和文件模板
 Web应用程序开发概述
 继承和多态
作者信息
推荐视频
视频教程分类