小熊回收站|-链表阻塞队列和数组阻塞队列的异同,Java并发编程
相同1、LinkedBlockingQueue和ArrayBlockingQueue都实现了BlockingQueue接口;
2、LinkedBlockingQueue和ArrayBlockingQueue都是可阻塞的队列
内部都是使用ReentrantLock和Condition来保证生产和消费的同步;
当队列为空 , 消费者线程被阻塞;当队列装满 , 生产者线程被阻塞;
LinkedBlockingQueue中的锁是分离的 , 生产者的锁PutLock , 消费者的锁takeLock
而ArrayBlockingQueue生产者和消费者使用的是同一把锁;
2、他们的底层实现机制也不同
LinkedBlockingQueue内部维护的是一个链表结构
LinkedBlockingQueue有默认的容量大小为:Integer.MAX_VALUE , 当然也可以传入指定的容量大小
【小熊回收站|-链表阻塞队列和数组阻塞队列的异同,Java并发编程】转载自:
- 小熊回收站|却为何不敢对俄罗斯下手?,美国对中日韩都施行“芯片霸权”
- 小熊带你玩科技|有两款,荣耀新品明天发布
- 小熊在线|索尼正式发布新A卡口镜头转接环LA-EA5
- 小熊带你玩科技|助力应用场景加速落地,专访UCloud优刻得华琨:“抢跑”新基建
- 小熊回收站|Forsage为啥要提前占点位?
- 小熊回收站|被沿用至今,三星S6到底有多经典?这一设计
- 一郎科技|就靠这20+张图了,一口气搞懂「链表」
- 小熊回收站|有类似考古的价值,适合做研究,五笔输入法是逻辑应用
- 小熊科技|办公白领的福音:SKG全新K5颈椎按摩仪评测,缓解颈椎压力
- 小熊回收站|强大的功能,小鸟耳机评测,小巧的外观