jdk源码总结三 阻塞队列

  • 什么是阻塞队列

队列比作一个池子,如果队列满了,那么往队列里添加元素的线程就会阻塞。如果队列为空,从队列里获取元素的线程就会阻塞。

  • Java阻塞队列

jdk源码总结三 阻塞队列

  1. ArrayBlockingQueue,是一个基于数组的有界队列
  2. LinkedBlockingQueue,是一个基于列表的有界队列。
  3. SynchronousQueue,是一个不存储元素的阻塞队列,可以看成是一个传球手,负责把生产者线程处理的数据直接传递给消费者线程。
  • 阻塞队列原理

jdk源码总结三 阻塞队列

 

jdk源码总结三 阻塞队列

 

jdk源码总结三 阻塞队列

  • 阻塞队列使用场景