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

相关推荐
aXin_ya3 分钟前
乐尚代驾,总结
java
仙俊红8 分钟前
Java JUC:CompletableFuture 详解,多个任务并行执行并等待全部完成
java·python·spring
JAVA面经实录91711 分钟前
MongoDB(文档型 NoSQL)
java·数据库·mongodb·nosql
cfm_291411 分钟前
JVM类加载机制初步了解
java·jvm
让我上个超影吧14 分钟前
Cluade code:上下文压缩
java·服务器·ai
plainGeekDev16 分钟前
批量写入 → Room 事务
android·java·kotlin
宋哥转AI17 分钟前
MCP 第一天我没写@Tool,先在一个大仓库里划这三层
java·agent·mcp
填满你的记忆18 分钟前
MCP协议是什么?为什么它被称为AI时代的“USB接口”?
java·人工智能·agent·mcp
云烟成雨TD19 分钟前
Spring AI Alibaba 1.x 系列【72】集成 MCP 客户端
java·人工智能·spring
独隅22 分钟前
Visual Studio Code 和 Visual Studio 2026 两大开发工具的核心差异
java·vscode·visual studio