Condition 可以认为是一个等待队列 一个对象自带互斥锁,每一个对象维护着一个等待阻塞队列,这也是其问题所在 JDK5 时引入了 Condition 它将等待队列也做成了一个对象! 比如说在生产者消费者问题中,为了保证数据安全问题 我们必要的时候将生产者和消费者都放进了同一个队列中 但现在,可以分开放! 生产者放进了生产者队列,消费者放进消费者队列 使用 Condition实现生产者和消费者可以精确控制唤醒生产者还是消费者线程 而通过锁对象的 signal唤醒是等待队列中随机身份 -> 生产者、消费者 …