0
点赞
收藏
分享

微信扫一扫

Java阻塞队列原理

进击的包籽 2023-06-28 阅读 50

阻塞队列,关键字是阻塞,先理解阻塞的含义,在阻塞队列中,线程阻塞有这样的两种情况:

1.当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。

2.当队列中填满数据的情况下,生产者端的所有线程都会自动阻塞(挂起),直到队列中有空的位置,线程被自动唤醒。

阻塞队列的主要方法

Java阻塞队列原理_阻塞队列

抛出异常:抛出一个异常

特殊值:返回一个特殊值(null或false,视情况而定)

阻塞:在成功操作之前,一直阻塞线程

超时:放弃前只在最大的时间内阻塞


Java中的阻塞队列

1.ArrayBlockingQueue:由数组结构组成的有界阻塞队列

2.LinkedBlockingQueue:由链表结构组成的有界阻塞队列

3.PriorityBlockingQueue:支持优先级排序的无界阻塞队列

4.DelayQueue:使用优先级队列实现的无界的阻塞队列

5.SynchronousQueue:不存储元素的阻塞队列

6.LinkedTransferQueue:由链表结构组成的无界阻塞队列

7.LinkedBlockingDeque:由链表结构组成的双向阻塞队列

举报

相关推荐

0 条评论