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的原理淺析的文章就介紹到這瞭,更多相關java DelayQueue的原理內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: