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