#每天一个知识点#
阻塞队列的原理很简单,利⽤了Lock锁的多条件(Condition)阻塞控制。接下来
我们分析ArrayBlockingQueue JDK 1.8 的源码。
⾸先是构造器,除了初始化队列的⼤⼩和是否是公平锁之外,还对同⼀个锁
(lock)初始化了两个监视器,分别是notEmpty和notFull。这两个监视器的作⽤⽬
前可以简单理解为标记分组,当该线程是put操作时,给他加上监视器notFull,标记
这个线程是⼀个⽣产者;当线程是take操作时,给他加上监视器notEmpty,标记这
个线程是消费者。