JUC.Condition学习笔记[附详细源码解析]
目录
Condition的概念
大体实现流程
I.初始化状态
II.await()操作
III.signal()操作
3个主要方法
Condition的数据结构
线程何时阻塞和释放
await()方法
signal()和signalAll()方法
Condition示例:生产者和消费者
JUC提供了Lock可以方便的进行锁操作,但是有时候我们也需要对线程进行条件性的阻塞和唤醒,这时我们就需要condition条件变量,它就像是在线程上加了多个开关,可以方便的对持有锁的线程进行阻塞和唤醒。