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

相关推荐
Hx_Ma164 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode5 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢5 小时前
Java集合笔记总结
java·笔记
小酒窝.6 小时前
【多线程】多线程打印ABC
java
乡野码圣6 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言6 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机7 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
小酒窝.8 小时前
【多线程】多线程打印1~100
java·多线程
君爱学习8 小时前
基于SpringBoot的选课调查系统
java
APIshop8 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库