技术栈

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开发
相关推荐
皮皮林551
11 小时前
拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~
java·spring boot
顺风尿一寸
14 小时前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
程途知微
15 小时前
JVM运行时数据区各区域作用与溢出原理
java
华仔啊
17 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
xiaoye2018
19 小时前
Lettuce连接模型、命令执行、Pipeline 浅析
java
beata
1 天前
Java基础-18:Java开发中的常用设计模式:深入解析与实战应用
java·后端
Seven97
1 天前
剑指offer-81、⼆叉搜索树的最近公共祖先
java
雨中飘荡的记忆
2 天前
保证金系统入门到实战
java·后端
Nyarlathotep0113
2 天前
Java内存模型
java
热门推荐
01GitHub 镜像站点02OpenClaw 使用和管理 MCP 完全指南03Window 10部署openclaw报错node.exe : npm error code 12804OpenClaw + 飞书(Feishu)环境搭建指南05本地部署 OpenClaw + DeepSeek-R1 完全指南06OpenClaw 连接飞书完整指南:插件安装、配置与踩坑记录07小黑课堂计算机二级WPSoffice题库软件下载安装教程(2026年3月最新版)08OpenClaw优化飞书API 额度已耗尽问题09OpenClaw 飞书机器人不回复消息?3 小时踩坑总结10Claude Code + GLM4.7 避坑指南:解决 Unable to connect to Anthropic services