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

相关推荐
菠萝地亚狂想曲23 分钟前
Zephyr_01, environment
android·java·javascript
Arya_aa27 分钟前
HTTP与Tmocat服务器与SpringMVC
java·spring boot
YDS82934 分钟前
大营销平台 —— 抽奖规则决策树
java·springboot·ddd
酿情师43 分钟前
Shiro 反序列化漏洞原理(小白零基础详解)
java·web安全·网络安全
少许极端1 小时前
算法奇妙屋(四十五)-CCPC备战之旅-1
java·开发语言·算法
songcream11 小时前
Spring Boot资料整理
java·spring boot·后端
源码宝1 小时前
新一代医院信息系统云HIS,多租户共享,java版HIS+EMR+LIS全套源码
java·大数据·源码·云his·his系统·源代码·医院信息系统
iiiiyu1 小时前
面向对象高级接口的综合案例
java·开发语言·数据结构·编程语言
fzil0011 小时前
让 AI 自己协作 —— 多智能体(Swarm)系统的设计与实现
java·开发语言·人工智能·ubuntu
Mem0rin1 小时前
[Java/数据结构]二叉树练习题几则
java·开发语言·数据结构