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也有提供超时的方法。

相关推荐
边境悍匪12 分钟前
springboot常用注解
java·spring boot·学习
captain37640 分钟前
文件与IO(2)
java·开发语言·windows·java-ee
mqiqe1 小时前
AgentScope Java 2.0 集成 Chat Completions Web:一行依赖让你的 Agent 变身 OpenAI 兼容服务
java·开发语言·前端
qq_589666051 小时前
Java微服务介绍及应用
java·开发语言·微服务
OPEN-F1 小时前
C++进阶教程:运算符重载与类型转换
java·c++·算法
小小数媒成员1 小时前
存储器层级结构
java·服务器·前端
牧杉-惊蛰1 小时前
将数组对象根据自定义排列
java·开发语言·算法
砚底藏山河2 小时前
【量化纯GET实战 #04】批量快照:一次 HTTP GET 取多只股票
java·python·金融·eclipse
君顾12 小时前
家校托管互通:从需求分析到系统架构的落地实践
java·开发语言·托管
QQ_21696290962 小时前
【源码编号:project93375】SpringBoot汽车维修管理信息系统:客户车辆、维修预约、工单派发、配件结算全流程实战
java·spring boot·后端·汽车·springboot·需求分析