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

相关推荐
悟空码字12 小时前
【保姆级】实现APP分享至微信,看完就能落地
java·后端·微信
常利兵12 小时前
Android 开发探秘:View.post()为何能获取View宽高
java·数据库·sql
闭关苦炼内功12 小时前
使用Java语言实现二分查找
java·开发语言
毕设源码-郭学长12 小时前
【开题答辩全过程】以 基于Spring Boot“活力青春”健身房管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
m0_4750645012 小时前
Spring AI RAG简易demo
java·人工智能·spring
xht083212 小时前
PHP vs C++:编程语言终极对决
java·开发语言
少司府12 小时前
C++基础入门:第一个C++程序
java·c语言·开发语言·c++·ide
液态不合群12 小时前
一文学习 Spring 声明式事务源码全流程总结
java·学习·spring
毕设源码-钟学长12 小时前
【开题答辩全过程】以 基于SpringBoot的校园快递APP系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
星辰_mya12 小时前
CGLIB 深度解剖:字节码生成的“克隆人”艺术
java·开发语言·面试