首页  

延迟队列原理及使用场景     所属分类 java 浏览量 1216
java.util.concurrent.DelayQueue

放入队列的元素需要实现 Delayed 接口 
long getDelay(TimeUnit unit)
 
getDelay <= 0 时才能取到元素 

    

内部基于优先队列实现  PriorityQueue  
元素需要实现 Comparable 接口  或者指定 Comparator ,用于比较元素大小
最小堆 栈顶元素最小  

延迟队列可用于定时任务执行 譬如 
订单创建后5分钟未支付则关闭
缓存写入时,给key设置过期时间,系统自动清除过期的key

测试代码 DelayQueueTest

https://gitee.com/dyyx/hellocode/blob/master/src/dyyx/test/DelayQueueTest.java

https://gitee.com/dyyx/hellocode/blob/master/src/dyyx/test/Message.java

https://gitee.com/dyyx/hellocode/blob/master/src/dyyx/test/PriorityQueueTest.java

上一篇     下一篇
一个小故事讲明白区块链

币圈吹牛逼套路汇总

如何判断一个数是否在40亿个整数中

JVM CMS 常用参数

JVM CMS 介绍

各种垃圾收集器的特点及使用场景