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

相关推荐
色空大师1 分钟前
【网站开发-java】
java·linux·服务器·开发语言·网站·搭建网站
于先生吖2 分钟前
远程考试系统搭建 JAVA 国际版源码与多国语言集成方案
java·开发语言
NGC_66116 分钟前
JDK1.8 ConcurrentHashMap 线程安全核心
java·安全·哈希算法
左左右右左右摇晃22 分钟前
Java线程池——核心方法解析execute / submit / shutdown
java·开发语言
gaozhiyong081328 分钟前
深度架构拆解:Gemini 3.1 Pro的核心技术突破与国内镜像站实测指南
java·开发语言·jvm·mysql
江不清丶28 分钟前
JVM内存区域深度剖析:从JDK8架构到生产级内存优化
java·jvm·架构
拾荒的小海螺32 分钟前
JAVA:Spring Boot3 集成 Spring AI + Ollama 本地模型
java·spring boot·spring
毕设源码-钟学长35 分钟前
【开题答辩全过程】以 课程答疑系统的设计与实现为例,包含答辩的问题和答案
java
庞轩px38 分钟前
Java基础概念四连问:==与equals、hashCode约定、接口vs抽象类、深拷贝vs浅拷贝
java·开发语言