概述
本篇主要讲解Lock管理多个Condition的情况,对Condition基础还不了解的童鞋,请先看下这篇文章:ReentrantLock和Condition基本使用
通过一项需求来实践
假设,当前当前有3个任务A、B、C需要按顺序反复地执行。
- A执行完了执行B
- B执行完了执行C
- C执行完了重新执行A
用一张图简单画一下就是这样:
Condition的等待与唤醒正好可以实现上面这项需求
代码实现
为了更好地体现控制逻辑,这里代码不做封装,会写得更清晰一点
首先,创建一个资源类 MyData
static