ReentrantLock中的Condition的用法

其实Condition或者说wait和notify/notifyAll,我们是在阻塞队列中经常使用。

1.例子1

生产者消费者模式嘛,一个线程生成数据,有了数据后,通知其它线程取。

也就是await方法,是位于lock之间。

复制代码
lock.lock()
while(queue.empty()){
    condition.await();
}
lock.unlock()

2.例子2

在rpc中,我们也可以用这个await来搞。 当然了还有CountDownLatch或者CompletableFuture也有提供超时的方法。

相关推荐
灯澜忆梦6 小时前
【Linux】#5 | 文件与目录基础操作命令
java·linux·运维
字节跳动的猫6 小时前
LikeShop 搜索功能优化二开:中文分词、商品权重排序与搜索热词管理
android·java·中文分词
计算机毕设定制辅导-无忧学长6 小时前
《基于微信小程序的校园文化活动报名与管理系统》
java·spring boot·微信小程序·uniapp·校园文化活动报名与管理小程序
靠沿6 小时前
MySQL数据库基础——索引的使用&alter、explain关键字
java·数据库·mysql
9624566 小时前
餐饮 SaaS 优惠券系统架构演进(七)营销定价引擎设计:活动、会员价、优惠券、买赠如何在同一 PriceQuote 中可解释地组合
java·运维·算法
码匠许师傅6 小时前
【C++三方组件】redis-plus-plus:现代 Redis C++ 客户端
java·c++·redis
ab1237686 小时前
MQTT笔记
java·笔记·mqtt·学习
二宝哥6 小时前
【问题】代理转发到后端使用request.getRequestURL()地址没有端口
java
霸道流氓气质6 小时前
HashiCorp Vault 与云 KMS 入门实战:动态密钥、SecretLeaseContainer 与 Java 集成完整指南
java·开发语言
wuminyu6 小时前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++