ListenableFuture 并发是一个困难的问题,但是通过使用功能强大且简单的抽象可以显著的简化并发。为了简化问题,Guava 使用 Li...
ListenableFuture 并发是一个困难的问题,但是通过使用功能强大且简单的抽象可以显著的简化并发。为了简化问题,Guava 使用 Li...
生产者消费者模型是我们学习多线程知识的一个经典案例,一个典型的生产者消费者模型如下: 这段代码很容易引申出来两个问题:一个是wait()方法外面...
前言 在之前的文章中,已经对ArrayBlockingQueue、LinkedBlockingQueue这两个比较常用的阻塞队列做了源码分析,我...
前言 SynchronousQueue作为BlockingQueue体系中的一员,它与我们平常使用较多的ArrayBlockingQueue、L...
前言 在前面的文章ArrayBlockingQueue源码分析中,已经对JDK中的BlockingQueue中的做了一个回顾,同时对ArrayB...
前言 本文的主要详细分析ArrayBlockingQueue的实现原理,由于该并发集合其底层是使用了java.util.ReentrantLoc...
前言 在前面一节JDK线程池(一):体系结构中已经分析了JDK的线程池核心接口的组成,通过那些接口的描述,我们知道线程池它所提供的功能,而本文将...
前言 在以前使用线程池的时候,都是简单的调用API。对于线程池体系结构原理都没有深究,直到最近在看看Netty的线程池源码时发现其都是在JDK线...
PriorityBlockingQueue PriorityBlockingQueue 是一个支持优先级的无边界阻塞队列,默认情况下采用自然顺序...
什么是阻塞队列? 阻塞队列与我们平常接触到的普通队列(ArrayList)的最大不同点在于阻塞队列的添加和删除方法都是阻塞的阻塞添加:当阻塞队列...
专题公告
分心二用,左右互搏。