首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
多线程容器
诚实的欺诈师
创建于2021-06-21
订阅专栏
针对java的多线程Queue中一些容器进行源码解析
等 1 人订阅
共7篇文章
创建于2021-06-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ArrayDeque源码解析
概况 ArrayDeque是Deque的主要实现类,Deque的定义为double ended queue,即双端队列,可以从头或尾部插入和删除数据。ArrayDeque使用环形数组来实现。
多线程容器
容器思维导图 容器的发展过程 vector——>Queue HashTable——>ConcurrentHashMap 使用早期的同步容器以及Collections.synchronizedXXX方法
DelayQueue源码解析
DelayQueue是BlockingQueue的实现类,在原本的基础上增加了延迟等待的操作,底层用到了PriorityQueue和Leader-Follower模式。
TransferQueue源码
TransferQueue 会先尝试和head匹配,匹配失败就插入末尾。与SychronousQueue相比多了缓存队列,与BlockingQueue相比可以直接将元素传递。
BlockingQueue源码
概述 BlockingQueue是阻塞队列, BlockingQueue继承自Queue,在Queue的基础上添加了阻塞方法put()和take()。
SychronousQueue源码解析
SychronousQueue原理 SychronousQueue是无缓冲阻塞队列,是BlockingQueue的实现类
CocurrentLinkedQueue
原理 本质是Queue的实现类,用于多线程的容器,底层使用的是链表。(数据存储其实本质只有两种:连续的和非连续的,及链表和数字,为什么没有ConcurrentArrayQueue,因为数组的大小是固定