关于BlockingQueue
2024-10-20 09:33:36
1 什么是BlockingQueue
2 BlockingQueue有什么用
3 ArrayBlockingQueue的用途
1 它是一个线程安全的队列
2 它是一个容量固定的队列
3 它为什么叫blocking
它会让线程的offer和take操作等待。
如果put的时候,发现队列已经满了,那么线程blocking等待。
如果take的时候,发现队列是空的,那么线程blocking等待。
这个实现完全是ReentrantLock的功劳,这也体现了ReentrantLock的Condition的威力,它可以让同步于同一个锁的线程等待不同的条件。这个是synchronized做不到的。
最新文章
- 移动前端开发之viewport的深入理解
- javac 命令出现 找不到文件 问题及解决办法
- java synchronized修饰普通方法,修饰静态方法,修饰代码块,修饰线程run方法 比较
- 在Windows平台搭建PHP开发环境(四)
- NopCommerce使用Autofac实现依赖注入
- Solr多核心及分词器(IK)配置
- ASP.NET Page执行顺序
- win10 uwp 获取指定的文件 AQS
- linux --- Ansible-playbook篇
- apache学习笔记
- pythonのsqlalchemy简单查询
- SpringMVC中@RestController的用法
- 深入理解char * ,char ** ,char a[ ] ,char *a[]
- (Alpha)Let's-典型用户和场景&;功能规格说明书
- CentOS MongoDB 高可用实战
- ES6--变量的声明及解构赋值
- 关于socket的知识总结
- ViewBag对象的更改
- JVM性能监控
- 『NiFi 自定义 Processor 无法获取到 Logger』问题解决
热门文章
- 第十三届北航程序设计竞赛决赛网络同步赛 B题 校赛签到(建树 + 打标记)
- Leetcode | Construct Binary Tree from Inorder and (Preorder or Postorder) Traversal
- java 两个int类型的数据相除并输出百分号保留两位有效数字
- [Cocoa]深入浅出Cocoa多线程编程之 block 与 dispatch quene
- 数据库访问的弹性化---WebLogic和Oracle RAC的整合:Active GridLink
- RecyclerView的滚动事件分析
- MyEclipse Html自动提示功能的设置方法
- Linux内核裁剪的具体步骤
- Spark Streaming的样本demo统计
- vue.js+koa2项目实战(二)创建 HeadBar 组件