没有合适的资源?快使用搜索试试~ 我知道了~
【Java】Queue、BlockingQueue和队列实现生产者消费者模式
9 下载量 60 浏览量
2020-12-22
03:26:55
上传
评论 1
收藏 95KB PDF 举报
温馨提示
文章目录1. Queue接口 – 队列1.1 ConcurrentLinkedQueue类(线程安全)2. BlockingQueue接口 – 阻塞队列2.1 ArrayBlockingQueue类(有界阻塞队列)2.2 LinkedBlockingQueue类(无界阻塞队列)3. 源码:BlockingQueue实现生产者消费者模式→ 输出结果截图 1. Queue接口 – 队列 public interface Queue extends Collection Collection的子接口,表示队列FIFO(First In First Out) 常用方法: (1)抛出异常 boole
资源推荐
资源详情
资源评论




格式:pdf 资源大小:118.4KB 页数:4




格式:webd 资源大小:949.0B




















【【Java】】Queue、、BlockingQueue和队列实现生产者消费者和队列实现生产者消费者
模式模式
文章目录文章目录1. Queue接口 – 队列1.1 ConcurrentLinkedQueue类(线程安全)2. BlockingQueue接口 – 阻塞队列2.1
ArrayBlockingQueue类(有界阻塞队列)2.2 LinkedBlockingQueue类(无界阻塞队列)3. 源码:BlockingQueue实现生产者
消费者模式→ 输出结果截图
1. Queue接口接口 – 队列队列
public interface Queue
extends Collection
Collection的子接口,表示队列FIFO(First In First Out)
常用方法:
((1)抛出异常)抛出异常
boolean add(E e) // 顺序添加1个元素(到达上限后,再添加则会抛出异常)
E remove() // 获得第1个元素并移除(如果队列没有元素时,则抛异常)
E element() // 获得第1个元素但不移除(如果队列没有元素时,则抛异常)
((2)返回特殊值【推荐】)返回特殊值【推荐】
boolean offer(E e) // 顺序添加添加1个元素(到达上限后,再添加则会返回false)
E poll() // 获得第获得第1个元素并移除个元素并移除(如果队列没有元素时,则返回null)
E keep() // 获得第获得第1个元素但不移除个元素但不移除(如果队列没有元素时,则返回null)
常用方法:
boolean add(E e)
将指定的元素插入到此队列中,如果可以立即执行此操作,而不会违反容量限制,
true在成功后返回 IllegalStateException如果当前没有可用空间,则抛出IllegalStateException。
E remove()
检索并删除此队列的头。
E element()
检索,但不删除,这个队列的头。
boolean offer(E e)
如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中。
E peek()
检索但不删除此队列的头,如果此队列为空,则返回 null 。
E poll()
检索并删除此队列的头,如果此队列为空,则返回 null 。
1.1 ConcurrentLinkedQueue类(线程安全)类(线程安全)
public class ConcurrentLinkedQueue
extends AbstractQueue
implements Queue, Serializable
说明:
线程安全线程安全、可高效读写的队列,高并发下性能最好的队列高并发下性能最好的队列;
无锁、无锁、CAS比较交换算法比较交换算法,修改的方法包含3个核心参数(V,E,N);
V:要更新的变量、E:预期值、N:新值
只有当V==E时,V=N;否则表示已被更新过,则取消当前操作。
常用方法:
boolean add(E e)
在此deque的尾部插入指定的元素。
void addFirst(E e)
在此deque前面插入指定的元素。
void addLast(E e)
在此deque的末尾插入指定的元素。
void clear()
从这个deque中删除所有的元素。
boolean contains(Object o)
返回 true如果这个deque包含至少一个元素 e ,这样 o.equals(e) 。
E element()
检索但不删除由此deque表示的队列的头部(换句话说,该deque的第一个元素)。
E getFirst()
检索,但不删除,这个deque的第一个元素。
E getLast()
检索,但不删除,这个deque的最后一个元素。
boolean isEmpty()
如果此集合不包含元素,则返回 true 。
Iterator iterator()
以正确的顺序返回此deque中的元素的迭代器。
boolean offer(E e)
资源评论


weixin_38557370
- 粉丝: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据时代下审计工作的变革与影响.docx
- 李文景Flash的引导层动画制作课件.ppt
- 微指令实现模型机 硬布线实现模型机. Course design of computer composition in SDU implementation on Quartus II (山东大学计算
- 百万公众网络学习工程.docx
- 职业学院计算机教学的相关方法探究.docx
- 软件工程师KPI表.xls
- 传媒类实验室信息化建设的设计与实践学位.doc
- 基于大学校园网的网络课堂教学模式的研究-远程教育论文.docx
- 施工项目管理条例.doc
- 大学生网络使用及舆情认知情况调研分析.docx
- 大数据背景下机场旅客的特征浅析.docx
- 数字集群移动通信网络体制分析.docx
- 计算机技术在数字监控系统中的应用分析.docx
- 《基于网络平台的高中生日语自主学习方式探究》课题初探.docx
- 网络与计算中心服务器(虚拟机)申请表.doc
- 中国光磁通信元器件行业竞争态势及进入壁垒.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
