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

相关推荐
满怀冰雪几秒前
第05篇-滑动窗口算法-一套模板解决子串与子数组问题
java·算法
码云骑士几秒前
【3.1Java基础】Java运算符常见错误排查:10个高频编译运行错误一网打尽
java·开发语言
小程故事多_801 分钟前
RAGFlow 分块策略全景与 Book 策略深度解析
java·开发语言·rag
吴声子夜歌2 分钟前
JVM——线程池实现原理
java·jvm·线程池
雾沉川3 分钟前
IntelliJ IDEA 2025.2 安装与基础配置技术教程
java·ide·intellij-idea
辰海Coding7 分钟前
MiniSpring框架学习笔记-JDBC 访问框架:如何抽取 JDBC 模板并隔离数据库?
java·数据库·笔记·学习·spring
CodeStats10 分钟前
从 CPU 指令执行到权限管控:对比三大操作系统,梳理编程语言演进,解读 HTML/CSS/JS 浏览器解析的共通底层逻辑
java·linux·windows
闪电悠米13 分钟前
黑马点评-Redis 消息队列-01_why_redis_mq
java·数据库·spring boot·redis·缓存·junit·消息队列
CodeSheep程序羊15 分钟前
宇树科技,即将上市!
java·c语言·c++·人工智能·python·科技·硬件工程
白露与泡影16 分钟前
Java 8老系统旁路接入AI Gateway:不升级JDK也能用AI
java·人工智能·gateway