Queue 队列总结

LinkedList 实现了双向队列 Deque,LinkedList允许添加null元素
PriorityQueue 有优先级的无界队列
ConcurrentLinkedQueue 底层是链表 线程安全的

ArrayBlockingQueue 底层是数组 有公平策略/非公平策略的有界的阻塞队列
LinkedBlockingQueue 底层是链表 有界(不声明时,容量为2的31次方-1) 阻塞队列
PriorityBlockingQueue 有优先级的无界阻塞队列,put时不会阻塞,take时根据优先级取出元素
DelayedQueue 该队列的元素必须实现Delayed接口,每个元素有自己的延时时间。使用PriorityQueue来存取数据,put时不会阻塞,take时会根据元素剩余的Delayed时间来await

SynchronousQueue 同步队列,put时如果没有相应的其他线程的take操作,将会阻塞。反之亦然。 offer时不会阻塞,在恰巧有别的线程取元素时,offer返回true。
该队列无法遍历,只有一个元素,存/取操作对应。 TransferQueue / TransferStack

猜你喜欢

转载自www.cnblogs.com/han6/p/11308144.html
今日推荐