ArrayBlockingQueue

基于数组的有界阻塞队列,按 FIFO(先入先出)排序。新任务进来,会放到该队列的队尾。
有界的数组可以防止资源耗尽问题。

LinkedBlockingQueue

基于链表的无界阻塞队列(其实最大容量为 Integer.MAX = 2147483647) ,按照 FIFO 排序。

SynchronousQueue

一个不缓存任务的阻塞队列,生产者放入一个任务必须等到消费者取出这个任务。

PriorityBlockingQueue

具有优先级的无界阻塞队列,优先级通过参数 Comparator 实现