目录
为什么不使用Object.wait和Object.notify方法使用Condition接口的signal和await
架构
基本的入队和出队
初始化
双边加锁
、
为什么不使用Object.wait和Object.notify方法使用Condition接口的signal和await
为什么使用两个Condition等待队列,因为使用两个等待队列可以确保当消费者完成消费后,唤醒的线程一定是生产者线程。而Object的方法,是通过Synchronize结合wait和notify相当与,只有一个等待队列,这个等待队列中存放了生产者和消费者,在使用notify通知方法时,调用的线程不确定,影响效率。
ConcurrentLinkedQueue比较
与其他类的比较