1、阻塞和非阻塞
ConcurrentLinkedQueue是非阻塞的线程安全队列
2、ConcurrentLinkedQueue是无界的
LinkedBlockingQueue可以指定大小
3、加锁方式
ConcurrentLinkedQueue使用CAS 原子指令来保证线程安全。吞吐量更高
LinkedBlockingQueue 使用ReentrantLock方式加锁
4、使用场景
LinkedBlockingQueue通常用于生产消费模型,有阻塞的场景。
其他非场景如何线程不想阻塞 可考虑ConcurrentLinkedQueue
4、ConcurrentLinkedQueue不一致性
ConcurrentLinkedQueue的head tail并非总是指向队列头尾元素,可能处于不一致状态