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

相关推荐
weixin_512976175 分钟前
Java 面试宝典 Beta5.0
java
Ting-yu7 分钟前
Spring AI Alibaba零基础速成(5) ---- Memory(记忆)
java·人工智能·后端·spring
月落归舟10 分钟前
一文掌握Spring AOP:从入门到底层原理
java·后端·spring
QuZhengRong13 分钟前
【Luck-Report】缓存
java·前端·后端·vue·excel
XiYang-DING25 分钟前
【Spring】SpringMVC
java·后端·spring
想学习java初学者26 分钟前
SpringBoot整合GS1编码解码
java·spring boot·后端
日月云棠27 分钟前
2 快速入门实战指南
java·后端
日月云棠28 分钟前
3 Dubbo 2.7 高级配置:检查控制、版本策略与协议选择
java·后端
砍材农夫34 分钟前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
掉鱼的猫37 分钟前
用 Solon AI 从零构建 MCP 工具服务:让 AI Agent 拥有真实世界的能力
java·llm·mcp