数据结构
chun_soft
再忙也不要忘记学习!
展开
-
SynchronousQueue 同步队列
1、概述第一次接触SynchronousQueue,是在java提供的四种线程池中,缓存线程池的源码实现中看到(缓存线程池允许的创建线程数量为 Integer.MAX_VALUE,可能会创建大量的线程,从而导致 OOM,不建议使用):public static ExecutorService newCachedThreadPool() { return new ThreadPoolExecutor(0, Integer.MAX_VALUE,原创 2020-05-25 21:12:44 · 1318 阅读 · 0 评论 -
BlockingQueue 阻塞队列 和 LinkedBlockingQueue 分析
1、概述阻塞队列(BlockingQueue)被广泛使用在“生产者-消费者”问题中,其原因是 BlockingQueue 提供了可阻塞的插入和移除的方法。当队列容器已满,生产者线程会被阻塞,直到队列未满;当队列容器为空时,消费者线程会被阻塞,直至队列非空时为止。BlockingQueue 是一个接口,继承自 Queue ,所以其实现类也可以作为 Queue 的实现来使用,而 Queue 又继承自 Collection 接口。下面是 BlockingQueue 依赖关系图:下面是 BlockingQu原创 2020-05-25 21:09:38 · 947 阅读 · 0 评论