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

相关推荐
zzzll11116 小时前
LangChain4j:Java 生态的 AI 应用开发利器
java·开发语言·人工智能
2601_967338716 小时前
尚硅谷2026尚硅谷Java全栈+Python智能体教程
java·人工智能
孙克旭_6 小时前
单链表进阶实操:5 道常考面试题详细解析【Java 实现】
java·开发语言·数据结构·单链表
2601_961901706 小时前
SpringCloud2023集成Nacos2.4.3
java
玄昌盛不会编程6 小时前
LeetCode——2091. 从数组中移除最大值和最小值
java·算法·leetcode
Rain的Java大神之路6 小时前
如何保证接口幂等
java·经验分享·后端·面试·架构
吴声子夜歌7 小时前
Java——数组和集合(一)
java·开发语言
Jesse_EC7 小时前
一个看不见的字符——CRLF 如何让我的 Docker 初始化脚本"静默失踪"
java·后端
深念Y7 小时前
Nuxt 项目 Docker 构建:从 pnpm+node 迁移到全 bun
java·前端·docker
学长毕业设计7 小时前
基于SpringBoot的社区鲜奶订购系统的设计与实现(源码+文档+讲解视频)
java·spring boot·后端