java并发基础
奔波儿灞爱上灞波儿奔
勤学如春起之苗,不见其长,日有所增。辍学如磨刀之石,不见其损,日有所亏。
展开
-
AQS同步队列之共享锁源码解析
AbstractQueuedSynchronizer(以下简称AQS)作为java.util.concurrent包的基础,它提供了一套完整的同步编程框架,开发人员只需要实现其中几个简单的方法就能自由的使用诸如独占,共享,条件队列等多种同步模式。我们常用的比如ReentrantLock等基础类库都是基于AQS实现的,我们开发人员更应该了解它的实现原理,这样才能在使用过程中得心应手。 //...原创 2018-08-31 20:02:06 · 320 阅读 · 0 评论 -
并发测试辅助类CountDownLatch使用与源码
CountDownLatch类介绍:一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重...原创 2018-09-19 10:21:46 · 208 阅读 · 0 评论 -
AQS--独占锁源码解析
AQS独占锁是很多并发包的基础,像读写锁,CountDownLatch都是基于AQS实现的,搞懂其原理对我们学习java并发包会有很好的作用。- 先来看锁的几种状态 volatile int waitStatus; //锁状态 //以下几种状态代表锁的具体值 static final Node EXCLUSIVE = null;//代表独占锁模式 ...原创 2018-09-20 11:25:12 · 496 阅读 · 0 评论