DelayQueue队列
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> DelayQueue是一个支持延时获取元素的无界阻塞队列。队列中的元素必须实现Delayed接口,在创建元素的时候可以指定多久才能从队列中获取当前元素,只有在延迟期满时才能从队列中获取元素。 我们可以将DelayQueue运用在以下应用场景: 缓存系统的设计:可以用DelayQueue保存缓存元素的有效期,使用一个线程循环查询DelayQueue,一旦能从DelayQueue中获取元素时,表示缓存有效期到了。 定时任务调度:使用DelayQueue保存当天将会执行的任务和执行时间,一旦从DelayQueue中获取到任务就开始执行,从比如TimerQueue就是使用DelayQueue实现的。 ——以上摘自Java并发编程的艺术 下面是自已撸的一个小栗子 1、用于执行通知任务的队列元素 package com.dreyer.concurrent; import java.util.concurrent.Delayed; import java.util.concurrent.TimeUnit; /** * @description 通知延迟队列 * @author: Dreyer * @date: 16/4/27 下午2:40 */ public class NotifyTask implements