java中DelayQueue的原理是什么

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

java中DelayQueue的原理是什么

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

关于java中DelayQueue的原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。