延迟队列原理及使用场景
所属分类 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 介绍
各种垃圾收集器的特点及使用场景