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

相关推荐
XU磊2604 分钟前
手动实现 Tomcat 核心机制:打造属于自己的 Servlet 容器
java·servlet·tomcat
R-sz22 分钟前
java内存缓存实现 与 redis缓存实现 (ConcurrentHashMap 应用)
java·redis·缓存
Seven9737 分钟前
剑指offer-10、矩阵覆盖
java
Seven9741 分钟前
剑指offer-9-变态跳台阶
java
程序员小白条1 小时前
我的第二份实习,学校附近,但是干前端!
java·开发语言·前端·数据结构·算法·职场和发展
钟琛......1 小时前
java中父类和子类的成员变量可以重名吗
java·开发语言
一只小青团7 小时前
Python之面向对象和类
java·开发语言
qq_529835358 小时前
ThreadLocal内存泄漏 强引用vs弱引用
java·开发语言·jvm
落笔画忧愁e8 小时前
扣子Coze飞书多维表插件添加数据记录
java·服务器·飞书
秋千码途10 小时前
小架构step系列08:logback.xml的配置
xml·java·logback