LinkedBlockingQueue和ArrayBlockingQueue

2 篇文章 0 订阅
区别ArrayBlockingQueueLinkedBlockingQueue
是否有界不可扩容,有界可有可无,最大值Integer.Max,无界时注意防止内存溢出
gc采用的是数组的存储容器,因此在插入或删除元素时不会产生或销毁任何额外的对象实例长时间内需要高效并发地处理大批量数据的时,对于GC可能存在较大影响
即添加操作和移除操作采用的同一个ReenterLock锁LinkedBlockingQueue实现的队列中的锁是分离的,能大大提高队列的吞吐量
缓存行可以使用,存在伪共享链表不使用连续地址,无法使用缓存行

参考文章:高性能队列——Disruptor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值