• 技术文章 >java >java基础

    java DelayQueue的原理

    小妮浅浅小妮浅浅2021-01-11 16:14:05原创2527

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

    1.构造方法

    1

    2

    3

    4

    5

    public DelayQueue() {}

      

    public DelayQueue(Collection<? extends E> c) {

        this.addAll(c);

    }

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

    2.接口分析

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    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.继承体系

    1

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

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

    专题推荐:java,delayqueue原理
    上一篇:java中DelayQueue是什么 下一篇:DelayQueue解决java中延时提醒

    相关文章推荐

    • java ArrayBlockingQueue的方法及不足点• java中linkedblockingqueue用法• linkedblockingqueue在java中的原理• java中linkedblockingqueue的增加方法• linkedblockingqueue在java中出队• java中DelayQueue是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网