技术栈

ReentrantLock中的Condition的用法

zfoo-framework2023-08-06 18:02

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

1.例子1

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

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

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

2.例子2

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

上一篇:OpenCV之信用卡识别实战
下一篇:Python 2.x 中如何使用flask模块进行Web开发
相关推荐
無限進步D
3 小时前
Java 运行原理
java·开发语言·入门
難釋懷
3 小时前
安装Canal
java
是苏浙
3 小时前
JDK17新增特性
java·开发语言
阿里加多
6 小时前
第 4 章:Go 线程模型——GMP 深度解析
java·开发语言·后端·golang
likerhood
7 小时前
java中`==`和`.equals()`区别
java·开发语言·python
小小李程序员
7 小时前
Langchain4j工具调用获取不到ThreadLocal
java·后端·ai
zs宝来了
7 小时前
AQS详解
java·开发语言·jvm
lulu1216544078
10 小时前
Claude Code Harness架构技术深度解析:生产级AI Agent工程化实践
java·人工智能·python·ai编程
阿里加多
10 小时前
第 1 章:Go 并发编程概述
java·开发语言·数据库·spring·golang
热门推荐
012026年4月技术前沿:AI大模型爆发、智能体革命与量子安全新纪元02GitHub 镜像站点03一周AI热点速览(2026.03.31-04.06):GPT-6曝光、谷歌开源Gemma 4、资本狂飙与模型军备竞赛04基于 Docker 部署 Hermes Agent 并接入飞书机器人的完整指南05GPT-6核心能力解析及与现有主流大模型对比06零成本!Ollama本地部署国产大模型全指南(支持Kimi-K2.5/GLM-5/Qwen,新手秒上手)07免费!不限量!用opencode接入英伟达(NVIDIA)大模型,轻松打造你的 AI 编程助手08CodeBuddy与WorkBuddy深度对比:腾讯两款AI工具差异及实操指南09从限购到畅通:GLM-5.1 Coding Plan接入攻略10LLM Wiki:让大模型替你打理知识库的完整指南