jdk 中提供了四种工作队列

ArrayBlockingQueue

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

LinkedBlockingQueue

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

SynchronousQueue

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

PriorityBlockingQueue

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

坚持原创技术分享,您的支持将鼓励我继续创作!