
源码解析
MasterWfs
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【java并发】CountDownLatch源码解析
目录一、概述二、源码解析1、构造函数2、await()3、await(long timeout, TimeUnit unit)4、countDown()三、使用实例 一、概述 CountDownLatch是限制某个线程等待其他线程全部执行后再执行; 相当于有一个计数器,每执行一个线程计数器-1,知道计数器为0;在等待的线程便可以继续执行。 一般用于主线程需要使用多线程计算的结果 二、源码解析 Co...原创 2019-12-16 17:13:39 · 202 阅读 · 0 评论 -
【java并发】Semaphore源码解析
目录一、概述二、源码分析1、构造函数二、void acquire()非公平模式的实现公平模式的实现三、void release() 一、概述 Semaphore信号量,主要功能是限制能够运行的线程量,指定固定数量的许可,只有获取许可的线程可以运行,若没有许可获取则阻塞,直到获取许可。 二、源码分析 1、构造函数 /** * Creates a {@code Semaphore} ...原创 2019-12-12 20:07:52 · 176 阅读 · 0 评论 -
AbstractQueuedSynchronizer
一、AQS是构建同步组件的基础 AQS以模板方式在内部定义了获取锁和释放同步状态的模板方法,并留下钩子函数供子类继承时进行扩展。 二、同步等待队列 AQS维护了一个同步等待队列,是一个双向链表; //队列的头,懒加载,除了初始化,修改只有setHead方法,如果头存在,waitStatus不可能是CANCELLED private transient volatile Node head; //队...原创 2019-06-14 15:57:02 · 187 阅读 · 0 评论 -
ReentrantLock
一、概述 是JDK实现的一种可重入锁,能够实现公平和非公平锁。 二、实现接口 public class ReentrantLock implements Lock, java.io.Serializable 实现接口Lock public interface Lock { //获取锁,如果获取不到就会出于线程调度的目的禁用,并且直到获取锁 void lock(); ...原创 2019-06-14 15:58:00 · 155 阅读 · 0 评论 -
ReentrantReadWriteLock
文章目录一、同步器一、读锁1、tryAcquireShared(int)2、doAcquireShared(int)3、releaseShared(int)二、写锁 一、同步器 先来看看读写锁持有的同步器,实现了AQS;读锁和写锁持有同一个Sync abstract static class Sync extends AbstractQueuedSynchronizer stati...原创 2019-06-14 15:58:55 · 122 阅读 · 0 评论