LinkdBlockingQueue简单介绍

LinkdBlockingQueue是一种基于单向链表的阻塞队列,队头和队尾是两个指针愤慨操作,所用采用了两把锁和两个条件,同时1个Atomicinteger记录count数

 

 

 

 

 

 

 这里说下LinkedBlockingQueueArrayBlockingQueue的区别

ArrayBlockingQueue中的生产者消费者使用的是同一把锁,而LinkedBlockingQueue中生产者是一把锁,消费者是另外一把锁

ArrayBlockingQueue底层是数组的数据结构,LinkedBlockingQueue底层是链表的数据结构

ArrayBlockingQueue需要在创建的时候设置队列大小,而LinkedBlockingQueue队列的大小可设置也可不设置

因为锁不是同一把,LinkedBlockingQueue多适用高并发场景

 

posted @ 2022-11-13 23:28  板凳哲学家  阅读(79)  评论(0)    收藏  举报