类名 | 是否有界 | 特性 |
---|---|---|
ArrayBlockingQueue | 有 | 1.内部基于数组实现 2.初始化时必须指定容量大小 |
LinkedTransferQueue | 无 | 1.底层基于链表 2.用于数据交换3.比其他队列多了transfer()及tryTransfer()方法 |
DelayQueue | 无 | 1.其中的元素必须实现Delayed接口2.其中的元素需要排队,一般情况下按照过期时间的优先级排序 |
LinkedBlockingQueue | 无、有 | 1.容量可选,默认是无界的2.内部基于链表实现 |
PriorityBlockingQueue | 无 | 1.带优先级的阻塞队列2.允许插入null对象3.元素必须实现Comparable接口,队列的排序规则需要用 |
SynchronousQueue | 有 | 1.不存储元素 2.一个线程发起插入操作后,就会被阻塞,直到另一个线程发起对应的删除操作才会删除,因此被称为同步队列,主要实现了take()和put()操作,需配对使用 |
ThreadPoolExecutor中BlockingQueue的实现区别
于 2022-07-08 14:16:15 首次发布