java.util.concurrent 包里提供了多个阻塞队列,今天我们重点讲解ArrayBlockingQueue 和 LinkedBlockingQueue,它们是面试中最常考的两位“老大哥”。 引言 小米最近在刷社招面试题,发现“ArrayBlockingQueue 和 LinkedBlockingQueue 的区别”频繁出现在面试官的题库里。 作为一名 ...
今天一起分析了ArrayBlockingQueue 队列的源码,可以看到ArrayBlockingQueue的源码非常简单,没有什么神秘复杂的东西,下篇文章再一起接着分析其他的阻塞队列源码。 引言 在日常开发中,我们好像很少用到BlockingQueue(阻塞队列),BlockingQueue到底有什么作用?
ArrayBlockingQueue是Java集合框架中的一个具体实现类,它实现了BlockingQueue接口。ArrayBlockingQueue是一个有界阻塞队列,它基于数组实现,并且具有固定的容量。 ArrayBlockingQueue的作用是在多线程环境下提供线程安全的队列操作。它可以作为生产者-消费者模式中的缓冲区 ...
我在之前两讲介绍了Java集合框架的典型容器类,它们绝大部分都不是线程安全的,仅有的线程安全实现,比如Vector、Stack,在性能方面也远不尽如人意。幸好Java语言提供了并发包(java.util.concurrent),为高度并发需求提供了更加全面的工具支持。 今天我要问你的 ...