JUC集合-BlockingQueue
2024-10-01 07:36:14
BlockingQueue 阻塞队列,支持两个附加操作。
1,在队列为空时,获取元素的线程会等待对列变为非空。
2,在队列为满时,存储元素的线程会等待对列可用。
使用场景:
生产者往对列里添加元素
消费者从对列里拿元素
操作
方法\处理 | 抛异常 | 返回特殊值 | 一直阻塞 | 超时退出 |
入队 | add(e) | offer(e) | put(e) | offer(e, time, unit) |
出队 | remove | poll | take | poll(time, unit) |
查询 | element | peek |
抛出异常:满队列时,执行入队会抛出异常;空队列时执行出队会抛出异常 。
返回特殊值:入队操作会返回布尔值;出队操作成功返回操作值,失败返回空值。
一直阻塞:满队列时,执行入队会进入条件等待队列,线程阻塞;空队列时,执行出队会进入条件等待队列,线程阻塞 。
超时退出:满队列时,执行入队会阻塞生产者线程一段时间,如果超过一定的时间,生产者线程就会退出。
最新文章
- jquery简单的轮播效果!
- javase-->;基础知识(二)
- SpringBoot配置属性之DataSource
- javaweb学习总结七(XML语言作用、语法)
- 要源码的快来啊,价值500的OA商业源码免费送给大家,望大家年底奖金多多......
- window.frameElement属性
- ICSharpCode.SharpZipLib实现压缩解压缩
- response.addCookie(cookie)添加cookie失败.
- 大数据时代之hadoop(六):hadoop 生态圈(pig,hive,hbase,ZooKeeper,Sqoop)
- C++第三天学习
- 笔记:Spark简介
- python的try方法中的else和finally的区别
- How to work with my desktop and laptop
- mongo 根据对象中的某个条件来查询
- 爬虫利器 Puppeteer 实战
- Dash VS Underscore
- mac修改本机mysql的root密码
- JS高级-原型等概念深入理解
- Maven 专题
- pcre库