生产者实现方法分析
add方法分析
- 封装了offer方法,能添加成功返回true。不能就直接抛异常
offer方法的实现
- 添加元素分析
offer带时间的方法分析
put方法
消费者实现方法分析
remove方法分析
- 调用poll方法,队列不为空就返回元素。为空就抛异常
poll方法
- 获取元素方法分析
poll有时间参数的方法分析
take方法分析
什么是虚假唤醒
- 等待在一个条件上的线程被全部唤醒后会去竞争锁,所以这些线程会一个一个地去消费这个条件,等到后面的线程去消费这个条件时,条件可能已经不满足了,所以每个被唤醒的线程都需要再检查一次条件是否满足。如果不满足,应该继续睡下去;只有满足了才能往下执行。
- 所以在执行的时候判断不能用if要用while