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

相关推荐
淘矿人2 分钟前
Claude助力前端开发
java·数据库·git·python·sql·spring·database
砍材农夫3 分钟前
物联网 基于netty心跳和ack机制
java·物联网·netty
happymaker062610 分钟前
Spring学习日记——DAY07(SpringMVC)
java·学习·spring
Devin~Y19 分钟前
大厂Java面试实录:Spring Boot/Cloud + Redis + Kafka + JVM + RAG(Spring AI)三轮追问(小Y翻车版)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
JAVA面经实录91721 分钟前
Java 并发工具类
java·大数据·开发语言
驭渊的小故事23 分钟前
Java数据结构集合框架(顺序表(ArrayList)的详细解析)(两千字详细解析)
java·开发语言
luck_bor26 分钟前
File 类核心笔记
java·前端·算法
ZC跨境爬虫27 分钟前
模块化烹饪小程序开发日记 Day2:全局配置与 tabBar 实现
java·前端·javascript·微信小程序·html·notepad++
victory043133 分钟前
找实习也是在找自己
java·服务器·前端
摇滚侠1 小时前
MySQL 面试题 真正的 offer 偏方 Java 基础 Java 高级
java·数据库·mysql