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

相关推荐
椰椰椰耶10 分钟前
[Spring Cloud][3]从零开始简单工程搭建实践详解,远程调用
java·数据库·spring cloud
兔子撩架构21 分钟前
Akka Cluster的整体应用:系统管理的核心支撑
java·架构
毕设源码-李学长25 分钟前
计算机毕业设计java高校多媒体教室管理系统高校多媒体教室综合管理系统高校智能多媒体教室管理平台
java·开发语言·课程设计
AAA修煤气灶刘哥26 分钟前
从 Timer 到 XXL-Job,定时任务调度的 “进化史”,看完再也不怕漏跑任务~
java·后端·架构
Funcy1 小时前
XxlJob 源码分析04:admin与executor通讯
java
托比-马奎尔1 小时前
初识SpringBoot
java·spring boot·后端
前行的小黑炭1 小时前
Android :如何提升代码的扩展性,方便复制到其他项目不会粘合太多逻辑,增强你的实战经验。
android·java·kotlin
-凌凌漆-1 小时前
【Qt】【C++】虚析构函数及 virtual ~Base() = default
java·c++·qt
凯尔萨厮1 小时前
Java学习笔记四(继承)
java·笔记·学习
Mr_Xuhhh1 小时前
项目-sqlite类的实现
java·jvm·sqlite