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

相关推荐
一只小青团5 小时前
Python之面向对象和类
java·开发语言
qq_529835355 小时前
ThreadLocal内存泄漏 强引用vs弱引用
java·开发语言·jvm
落笔画忧愁e5 小时前
扣子Coze飞书多维表插件添加数据记录
java·服务器·飞书
秋千码途8 小时前
小架构step系列08:logback.xml的配置
xml·java·logback
飞翔的佩奇8 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
时来天地皆同力.8 小时前
Java面试基础:概念
java·开发语言·jvm
找不到、了8 小时前
Spring的Bean原型模式下的使用
java·spring·原型模式
阿华的代码王国9 小时前
【Android】搭配安卓环境及设备连接
android·java
YuTaoShao9 小时前
【LeetCode 热题 100】141. 环形链表——快慢指针
java·算法·leetcode·链表
铲子Zzz10 小时前
Java使用接口AES进行加密+微信小程序接收解密
java·开发语言·微信小程序