Java进阶:多线程Lock管理多个Condition的实践

概述

本篇主要讲解Lock管理多个Condition的情况,对Condition基础还不了解的童鞋,请先看下这篇文章:ReentrantLock和Condition基本使用

通过一项需求来实践

假设,当前当前有3个任务A、B、C需要按顺序反复地执行。

  • A执行完了执行B
  • B执行完了执行C
  • C执行完了重新执行A

用一张图简单画一下就是这样:
Java进阶:多线程Lock管理多个Condition的实践_第1张图片

Condition的等待与唤醒正好可以实现上面这项需求

代码实现

为了更好地体现控制逻辑,这里代码不做封装,会写得更清晰一点

首先,创建一个资源类 MyData

static class MyData

你可能感兴趣的:(Java基础与进阶,java,多线程,lock,condition)