关注
如图1所示,按不同分类方式可以进行基本的3种分类方式。
(1)如果一个队列已满,此时要插入元素 OR 一个队列已空,此时要提取元素
出现如上情况时,如果阻塞称为阻塞队列(名字中含有Blocking Queue字样,例如ArrayBQ、LinkedBQ、PriorityBQ等,如图2所示),在出现上面情况时会暂时阻塞,直到队列元素不满时再插入(或队列元素不空时再提取);若不阻塞称为非阻塞队列,遇到上面情况时会直接报错;
(2)有界队列和无界队列很好理解,也即是否设置了固定大小。当然实际上无界队列默认最大长度为Integer.MAX_VALUE
(3)按功能分类:
(3-1)普通队列(基本先入先出队列,可用固定长度数组或链表实现)
(3-2)双端队列(可以在头部和尾部同时入队或出队)
(3-3)优先队列(二叉堆实现,优先级高的元素先出队)
(3-4)延迟队列(基于优先队列实现,入队的元素需入队一定时间才能出队,如图3所示)
(3-5)特殊队列(例如SynchronousQueue,每次添加数据后必须等待另一个线程拿走数据之后,才可以继续添加数据)
查看原帖
点赞 评论
相关推荐
飞屋一号:给各ai拉个群,让他们给你打黑工 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 今年春招是金一银二嘛? #
5890次浏览 64人参与
# 机械人你知道哪些单休企业 #
82754次浏览 408人参与
# 1月小结:你过的开心吗? #
1285次浏览 42人参与
# 没关系,至少我的__很曼妙 #
3088次浏览 58人参与
# 赚钱的意义在这一刻具象化 #
3356次浏览 84人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
6932次浏览 155人参与
# 你的landing期是如何度过的? #
7115次浏览 128人参与
# 你的第一家实习公司是什么档次? #
3288次浏览 56人参与
# 抛开难度不谈,你最想去哪家公司? #
2890次浏览 74人参与
# 参加完秋招的机械人,还参加春招吗? #
103190次浏览 676人参与
# 为什么有人零实习也能进大厂? #
3631次浏览 77人参与
# 一人一道大厂面试题 #
113998次浏览 1263人参与
# 当你问AI“你会取代我的工作吗”,它说_? #
2745次浏览 84人参与
# 除了Java,最推荐学什么技术? #
4728次浏览 125人参与
# AI求职实录 #
2356次浏览 67人参与
# 机械人春招想让哪家公司来捞你? #
378936次浏览 3134人参与
# 你觉得什么岗位会被AI替代 #
36421次浏览 250人参与
# 在找工作求抱抱 #
1653479次浏览 10964人参与
# 哪些瞬间让你真切感受到了工作的乐趣 #
23162次浏览 99人参与
# 第X杯敬自己 #
35037次浏览 251人参与
查看22道真题和解析