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

相关推荐
我命由我123453 分钟前
Android 开发,getSystemService 警告信息:Must be one of: Context. POWER_SERVICE ...
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
1candobetter4 分钟前
JAVA后端开发—— Maven 生命周期与 IDEA 中Maven 插件面板介绍
java·maven·intellij-idea
Fate_I_C5 分钟前
Kotlin 与 Java 互操作空安全处理策略
java·安全·kotlin
zopple7 分钟前
Laravel3.x经典特性回顾
android·java·数据库
一只小小Java11 分钟前
IDEA 的spring boot yaml没有叶子图标了
java·spring boot·intellij-idea
俺爱吃萝卜13 分钟前
Java 性能调优实战:从 JVM 内存模型到垃圾回收算法优化
java·jvm·算法
ic爱吃蓝莓14 分钟前
美团测开一面
java·开发语言
me83215 分钟前
【深入java语句】关于System.out.println();的底层逻辑
java·开发语言
㳺三才人子18 分钟前
探 SpringDoc OpenAPI 常用註解
java·spring boot
1candobetter19 分钟前
JAVA后端开发——多模块 Maven 项目 POM 管理规范实践
java·开发语言·maven