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

相关推荐
Java面试题总结18 小时前
spring重点详解
java·后端·spring
AKA__Zas18 小时前
初识多线程(2.0)
java·开发语言·学习方法
0xDevNull19 小时前
Java十道高频面试题(二)
java·开发语言
java1234_小锋19 小时前
Spring AI 2.0 开发Java Agent智能体 - 会话记忆(Chat Memory)
java·人工智能·spring
Sylvia33.19 小时前
世界杯数据链路解析:从球场传感器到终端推送的毫秒级架构
java·前端·python·架构
Royzst19 小时前
Lambda 算法基础 集合概述
java·开发语言
Yeh20205819 小时前
Mybatis笔记一
java·笔记·mybatis
likerhood19 小时前
Java 动态代理深度解析:从“为什么“到“底层原理“
java
_阿伟_19 小时前
信息检索简单介绍
java
下次再写19 小时前
深入浅出微服务架构:从理论到Spring Boot实战
java·微服务·springboot·springcloud·架构设计·后端开发·分布式系统