美文网首页
大话队列

大话队列

作者: kele2018 | 来源:发表于2024-07-03 11:11 被阅读0次
队列名称 是否可以控制队列容量 底层数据结构 加锁方式 特点
ArrayBlockingQueue 可以 数组 ReentrantLock 1、厨师炒好菜,发现餐台有位置,直接把菜放到餐台,同时唤醒正在等待的服务员;
2、厨师炒好菜,发现餐台没有位置,则等待;
3、服务员来取菜,发现有菜,则取菜,并唤醒正在等待的厨师;
4、服务员来取菜,发现没有菜,则等待;
LinkedBlockingQueue 可以 单向链表 ReentrantLock 1、厨师炒好菜,发现餐台有位置,直接把菜放到餐台,同时唤醒正在等待的服务员;
2、厨师炒好菜,发现餐台没有位置,则等待;
3、服务员来取菜,发现有菜,则取菜,并唤醒正在等待的厨师;
4、服务员来取菜,发现没有菜,则等待;
LinkedBlockingDeque 可以 双向链表 ReentrantLock 1、厨师炒好菜,发现餐台有位置,直接把菜放到餐台,同时唤醒正在等待的服务员;
2、厨师炒好菜,发现餐台没有位置,则等待;
3、服务员来取菜,发现有菜,则取菜,并唤醒正在等待的厨师;
4、服务员来取菜,发现没有菜,则等待;
LinkedTransferQueue 不可以 单向链表 ReentrantLock 1、厨师炒好菜,发现餐台有位置,直接把菜放到餐台,同时唤醒正在等待的服务员;
2、厨师炒好菜,发现餐台没有位置,则等待;
3、服务员来取菜,发现有菜,则取菜,并唤醒正在等待的厨师;
4、服务员来取菜,发现没有菜,则等待;
5、厨师炒好菜,发现有服务员在等待,则直接把菜给服务员;
PriorityBlockingQueue 不可以 ReentrantLock 1、厨师炒好菜,发现餐台有位置,直接把菜按照一定顺序放到餐台,同时唤醒正在等待的服务员;
2、厨师炒好菜,发现餐台没有位置,则等待;
3、服务员来取菜,发现有菜,则取菜,并唤醒正在等待的厨师;
4、服务员来取菜,发现没有菜,则等待;
DelayQueue 不可以 ReentrantLock 1、厨师炒好菜,发现餐台有位置,直接把菜按照一定顺序放到餐台,同时唤醒正在等待的服务员;
2、厨师炒好菜,发现餐台没有位置,则等待;
3、服务员来取菜,发现有菜,则看下当前菜是否到时间,到时间则取菜,并唤醒正在等待的厨师;没到时间,自旋等待
4、服务员来取菜,发现没有菜,则等待;
ConcurrentLinkedQueue 不可以 单向链表 cas 1、厨师炒好菜,发现餐台有位置,直接把菜放到餐台;
2、厨师炒好菜,发现餐台没有位置,则自旋;
3、服务员来取菜,发现有菜,则取菜;
4、服务员来取菜,发现没有菜,则自旋;
ConcurrentLinkedDeque 不可以 双向链表 cas 1、厨师炒好菜,发现餐台有位置,直接把菜放到餐台;
2、厨师炒好菜,发现餐台没有位置,则自旋;
3、服务员来取菜,发现有菜,则取菜;
4、服务员来取菜,发现没有菜,则自旋;
SynchronousQueue 容量为0 ReentrantLock 1、厨师炒好菜,发现没服务员,则等待服务员;
2、服务员来取菜,发现没厨师,则等待厨师;

相关文章

  • 大话数据结构 - 队列

    代码GitHub地址 队列 队列和栈一样是特殊的线性表。区别只是它能尾进头出而已 学习队列需要清楚的认识到fron...

  • 贪心、分治、动态规划算法

    书籍:大话数据结构、剑指offer(必看 必看 必看)、编程之美、编程珠玑 10个数据结构:数组、链表、栈、队列、...

  • 大话数据结构 栈与队列

    栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表。允许插入和删除的一端称为栈顶(top),另一端...

  • 大话数据结构—链式队列(八)

    1.链式队列 人生,更需要有队列精神的体现 南极到北极,不过是南纬 90°到北纬 90°的队列。如果你中途犹豫,临...

  • 大话数据结构—循环队列(七)

    1.循环队列 a.队列满的条件是 (rear+l) % QueueSlze==frontb.通用的计算队列长度公式...

  • 《大话数据结构》4栈与队列

    1.栈与队列都是线性表;栈:限定仅在表尾进行插入和删除操作的线性表。队列:只允许在一端进行插入操作,而在另一端进行...

  • 《大话数据结构》之栈与队列

    1. 栈 1.1 定义 栈,即只能在表尾进行插入或删除操作的线性表。 其中,“表尾”称为“栈顶”,另一端则为“栈底...

  • 4.栈和队列--大话数据结构

    1.栈 定义:是限定仅在表尾进行插入和删除操作的线性表,我们允许插入和删除的一端称为栈顶(top),另一端称为端底...

  • 4、栈和队列

    参考:《大话数据结构》程杰 栈:限定仅在表尾进行插入和删除操作的线性表队列:只允许在一端进行插入操作,在另一端进行...

  • mc高迪大话西游伴奏

    分类:MC喊麦伴奏标签:Mc高迪,mc高迪大话西游,mc高迪大话西游伴奏,mc高迪大话西游另类伴奏,大话西游,大话...

网友评论

      本文标题:大话队列

      本文链接:https://www.haomeiwen.com/subject/hrmbcjtx.html