开发者社区> 问答> 正文

描述线程池工作队列LinkedBlockingQueue

描述线程池工作队列LinkedBlockingQueue

展开
收起
huc_逆天 2021-01-08 15:33:24 892 0
1 条回答
写回答
取消 提交回答
  • 一、什么是LinkedBlockingQueue?

    1.LinkedBlockingQueue内部由单链表实现,按 FIFO(先进先出)排序元素。

    2.链接队列的吞吐量通常要高于基于数组的队列,但是在大多数并发应用程序中,其可预知的性能要低。

    3.添加元素和获取元素都使用了ReentrantLock锁,读写分离的,读写操作可以并行执行。

    4.如果不指定容量,默认为Integer.MAX_VALUE,也就是无界队列。通常建议手动设置一个大小。

    二、LinkedBlockingQueue类图 image.png

    从上图我们可以很清楚的看到 LinkedBlockingQueue 类中关系,Collection 接口我想大家都很熟悉,平时我们在开发中最常用的 List,Set 顶层也是该接口。按照 java 的语言风格,基本是不断抽象出公共接口,子接口或抽象类则在原有的基础上提供独有的方法。

    2021-02-03 18:22:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载