Java中的阻塞队列
❑ ArrayBlockingQueue:一个由数组结构组成的有界阻塞队列。
❑ LinkedBlockingQueue:一个由链表结构组成的有界阻塞队列。
❑ PriorityBlockingQueue:一个支持优先级排序的无界阻塞队列。
❑ DelayQueue:一个使用优先级队列实现的无界阻塞队列。
应用场景
❑ 缓存系统的设计:可以用DelayQueue保存缓存元素的有效期,使用一个线程循环查询DelayQueue,一旦能从DelayQueue中获取元素时,表示缓存有效期到了
❑ 定时任务调度:使用DelayQueue保存当天将会执行的任务和执行时间,一旦从DelayQueue中获取到任务就开始执行,比如TimerQueue就是使用DelayQueue实现的。
❑ SynchronousQueue:一个不存储元素的阻塞队列。
❑ LinkedTransferQueue:一个由链表结构组成的无界阻塞队列。
❑ LinkedBlockingDeque:一个由链表结构组成的双向阻塞队列。