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

相关推荐
miss_you12136 分钟前
结算模块设计
java
派大鑫wink8 分钟前
【Day1】Java 入门:开发环境搭建(JDK 安装 + IDEA 配置 + HelloWorld 实战)
java·开发语言·intellij-idea
magic_kid_20109 分钟前
IDEA 中 Maven 多模块项目的某个模块未显示或无法导入的解决方案
java·maven·intellij-idea
LSL666_10 分钟前
1 验证码
java·服务器·前端·redis·验证码
wniuniu_11 分钟前
ceph中的crush map
java·运维·ceph
SunnyDays101115 分钟前
Java 实现 RTF 转 Word:完整技术指南
java·rtf转word
博风15 分钟前
飞书知识库备份
java·飞书
晴天sir16 分钟前
关于使用poi-tl读取本地图片,转为base64编码批量插入word的解决方法
java·exception·poi-tl
白宇横流学长19 分钟前
基于SpringBoot实现的零食销售商城设计与实现【源码+文档】
java·spring boot·后端
qq_3363139320 分钟前
Java基础-Stream流
java·开发语言·windows