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

相关推荐
小同志00几秒前
⽅法注解 @Bean
java·spring·bean·maven
Ting.~4 分钟前
GIT详解
java·笔记·git
人道领域10 分钟前
【LeetCode刷题日记】239.滑动窗口最大值:单调队列解法(困难)
java·开发语言·算法
wuxinyan12312 分钟前
Java面试题53:一文深入了解RAG(检索增强生成)核心概念
java·人工智能·机器学习·面试·rag
常利兵14 分钟前
安卓启动页Logo适配秘籍:告别“奇形怪状”的展示
android·java·开发语言
程序员阿明20 分钟前
spring boot3集成企业微信推送消息
java·spring boot·企业微信
SamDeepThinking21 分钟前
用工厂模式和模板方法统一封装所有第三方的Access Token
java·后端·架构
AI人工智能+电脑小能手24 分钟前
【大白话说Java面试题】【Java基础篇】第17题:HashMap的加载因子为什么是0.75而不是1或0.5
java·开发语言·算法·哈希算法·散列表
huipeng92626 分钟前
GateWay使用详解
java·spring boot·spring cloud·微服务·gateway
AKA__Zas33 分钟前
初识多线程(初初识)
java·服务器·开发语言·学习方法