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

相关推荐
棉花骑士4 小时前
【AI Agent】面向 Java 工程师的Claude Code Harness 学习指南
java·开发语言
爱敲代码的小鱼4 小时前
springboot(2)从基础到项目创建:
java·spring boot·spring
迈巴赫车主5 小时前
蓝桥杯19724食堂
java·数据结构·算法·职场和发展·蓝桥杯
i220818 Faiz Ul5 小时前
动漫商城|基于springboot + vue动漫商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·动漫商城系统
海兰6 小时前
【实战】MCP 服务在 Nacos 中注册状态分析与优化
android·java·github·银行系统·银行ai
Makoto_Kimur6 小时前
Java 打印模板大全
java·开发语言·排序算法
程序员榴莲6 小时前
Java(十)super关键字
java·开发语言
HAPPY酷6 小时前
Python高级架构师之路——从原理到实战
java·python·算法
Boop_wu7 小时前
[Java 算法 ] 链表
java·算法·链表
ybwycx7 小时前
SpringBoot下获取resources目录下文件的常用方法
java·spring boot·后端