CyclicBarrier翻译过来是“可循环利用的屏障“,CyclicBarrier 作用是让一组线程相互...[作者空间]
Semaphore也叫信号量,在JDK1.5被引入,可以用来控制同时访问特定资源的线程数量,通过协调各个线...[作者空间]
CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。 ...[作者空间]
首先来回顾一下AQS Node的主要结构,对于节点状态PROPAGATE的无条件传播,可能不理解。看完do...[作者空间]
DelayQueue是一个无界阻塞队列,可以用做延时处理,延时处理就是可以为队列中元素设定一个过期时间,队...[作者空间]
SynchronousQueue是一个内部只能包含一个元素的队列。插入元素到队列的线程被阻塞,直到另一个...[作者空间]
PriorityBlockingQueue是一个支持优先级的无界阻塞队列,基于数组的二叉堆,其实就是线程安...[作者空间]
LinkedBlockingQueue是一个单向链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素...[作者空间]
ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列。下面是主要结构。 大概思想...[作者空间]
ConditionObject主要是为并发编程中的同步提供了等待通知的实现方式,可以在不满足某个条件的时候...[作者空间]
在独占模式下释放锁 和tryAcquire一样,tryRelease也需要子类去实现[作者空间]
下面我们借助上面的API图阅读源码 独占模式获取锁acquire,忽略中断 tryAcquire是需要子类必须重写...[作者空间]
AQS是啥 Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于...[作者空间]
ReentrantLock意思为可重入锁,指的是一个线程能够对一个临界资源重复加锁。借用美团技术博客的一张图说明它...[作者空间]
jdk提供的线程池拒绝策略都实现了同一个接口:RejectedExecutionHandler DiscardPo...[作者空间]
今天我们来说一下另一个用的频率比较高的提交任务的方法submit,ThreadPoolExecutor的s...[作者空间]
ThreadPoolExecutor主流程常用方法execute ThreadPoolExecutor核心方法,e...[作者空间]
上一篇说了ThreadPoolExecutor里面的位运算,在后边的源码介绍中就会看到有很多地方调用了那些...[作者空间]
我体会到的ThreadPoolExcutor的源码阅读可分为几部分 1.ThreadPoolExcutor构造函数...[作者空间]
创建线程要花费昂贵的资源和时间,如果任务来了才创建线程那么响应时间会变长,而且一个进程能创建的线程数有限。...[作者空间]