ArrayBlockingQueue和LinkedBlockingQueue的区别
两者都是常用的有界阻塞队列,不同点如下:
1、ArrayBlockingQueue是数组结构的(final Object[] items;),LinkedBlockingQueue是链表结构的(private transient Node<E> head;)。
2、ArrayBlockingQueue直接保存对象,LinkedBlockingQueue需要把对象转为Node类型再保存。
3、ArrayBlockingQueue读写共用一把锁,不能做到同时(任意时刻)读写,宏观上看是读写交替
原创
2021-07-06 12:50:59 ·
306 阅读 ·
0 评论