Java队列:
掌握 Java 队列相关知识
在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能非阻塞队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪一种都继承了Queue。
只要是队列就遵循先进先出,后进后出原则。
- ArrayDeque 数组双端队列
- PriorityQueue 优先级队列
- ConcurrentLinkedQueue 基于链表的并发队列
- DelayQueue 延期阻塞队列
- ArrayBlockingQueue 基于数组的并发阻塞队列
- LinkedBlockingQueue 基于链表的FIFO阻塞队列
- LinkedBlockingDeque 基于链表的FIFOs双端阻塞队列
- PriorityBlockingQueue 带优先级的无界阻塞队列
- SynchronousQueue 并发同步阻塞队列
字典
FIFO :先进先出
LIFO :后进先出
阻塞队列是与普通队列的区别:
阻塞队列是与普通队列的区别有两点:
1、取出元素:
阻塞队列:阻塞队列获取元素时,若队列为空,则会等待队列有元素,不然就阻塞队列。
普通队列:普通队列返回结果,无元素。
2、插入元素:
阻塞队列:阻塞队列放入元素时,若是队列满,则等待队列