了解 condition 之前需要先了解一下 Java 的 等待/通知 机制:https://www.cnblogs.com/powercto/p/10848825.html
一开始时,Java 的等待通知机制是通过 synchronized 和 object 监视器方法 wait(),notify() 和 notifyAll() 实现的。
现在可以通过 condition 和 Lock 实现等待通知机制。condition 将 Object 监视器方法(wait,notify,notifyAll) 分解成截然不同的对象,以便通过这些对象与任意 Lock实现组合使用。其中 Lock 替代了 synchronized 方法和语句的使用,condition 替代了 Object 监视器方法的使用。condition 实例实际上被绑定到一个锁上