在某些情况下,对阻塞队列的访问可能会造成阻塞:
- 当队列满的时候进行入队操作
- 当队列空的时候进行出队操作
阻塞队列是线程安全的,主要用在生产者消费者的场景
-
ArrayBlockingQueue
- 以先进先出的方式处理 -
DelayQueue
- 必须实现Delay
接口,需要对元素进行排序,比如定时关闭连接,缓存处理等 -
LinkedBlockingQueue
- 可选初始化大小以先进先出的方式处理 -
PriorityBlockingQueue
- 有排序规则,允许插入null
,必须实现Comparable
接口 -
SynchronousQueue
- 仅允许容纳一个元素,无界非缓存队列
网友评论