技术栈

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开发
相关推荐
camellias_
15 小时前
【无标题】
java·tomcat
咸鱼2.0
15 小时前
【java入门到放弃】需要背诵
java·开发语言
椰猫子
15 小时前
Java:异常(exception)
java·开发语言
win x
16 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
星晨雪海
16 小时前
基于 @Resource 的支付 Service 多实现类完整示例
java·开发语言
阿维的博客日记
16 小时前
什么是逃逸分析
java·juc
Ricky_Theseus
17 小时前
C++右值引用
java·开发语言·c++
Rick1993
17 小时前
Java内存参数解析
java·开发语言·jvm
我是大猴子
17 小时前
Spring代理类为何依赖注入失效?
java·后端·spring
勿忘,瞬间
17 小时前
多线程之进阶修炼
java·开发语言
热门推荐
012026年4月技术前沿:AI大模型爆发、智能体革命与量子安全新纪元02一周AI热点速览(2026.03.31-04.06):GPT-6曝光、谷歌开源Gemma 4、资本狂飙与模型军备竞赛03GitHub 镜像站点04基于 Docker 部署 Hermes Agent 并接入飞书机器人的完整指南05AI Weekly | 2026年4月第二周 · GitHub热门项目与AI发展趋势深度解析06免费!不限量!用opencode接入英伟达(NVIDIA)大模型,轻松打造你的 AI 编程助手07Oh My Codex 快速使用指南08CodeBuddy与WorkBuddy深度对比:腾讯两款AI工具差异及实操指南09从限购到畅通:GLM-5.1 Coding Plan接入攻略10VMware Workstation Pro 17 虚拟机完整安装教程(2026最新)