AQS中一定要记住2点:
1.处理流程:
if(!请求成功)
加入队列
2.请求是对state的判断,AQS不关心你state表示什么,你可以表示状态也可以表示数量,由子类实现对请求的判断。将规则的判断和规则的处理分离,有点像模板模式。
先想想什么是独占什么是共享,举个栗子:独占就像大家拿号去排队体检,你拿号了发现前面还有n个人,没办法,等吧,然后你前面的人体检完了,医生就说,你通知下一...
分类:
其他好文 时间:
2016-05-07 10:05:20
阅读次数:
133
AbstractQueuedSynchronizer(下面简称AQS),javadoc说明: Provides a framework for implementing blocking locks and related synchronizers (semaphores, events, etc) that rely on first-in-first-out (FIFO) wait que...
分类:
其他好文 时间:
2016-05-07 09:11:08
阅读次数:
240
1. synchonrize如何更好地使用?
谈到这个问题, 主要先从这几个方面来入手:
线程的几种状态synchonrize的几种使用方法比较synchonrize和volatile比较synchonrize和juc中的锁比较用了锁就真的没有并发问题了么?
1.1 线程的几种状态
不熟悉线程的生命周期和相互的转换控制, 是无法写好并发代码的.
图简单易懂,...
分类:
编程语言 时间:
2016-05-06 16:00:23
阅读次数:
261
一、前言 最近几天忙着做点别的东西,今天终于有时间分析源码了,看源码感觉很爽,并且发现ConcurrentHashMap在JDK1.8版本与之前的版本在并发控制上存在很大的差别,很有必要进行认真的分析,下面进行源码分析。 二、ConcurrentHashMap数据结构 之前已经提及过,Concurr ...
分类:
其他好文 时间:
2016-05-03 23:53:32
阅读次数:
264
JUC锁框架的目录整理如下: 1. 【JUC】JUC锁框架综述 2. 【JUC】JDK1.8源码分析之LockSupport(一) 3. 【JUC】JDK1.8源码分析之AbstractQueuedSynchronizer(二) 4. 【JUC】JDK1.8源码分析之ReentrantLock(三) ...
分类:
其他好文 时间:
2016-05-02 21:26:14
阅读次数:
229
一、前言 完成了JUC的锁框架的分析后,现在分析JUC集合框架,之前分析过的集合框架,很大程度上都不是线程安全的,其在多线程环境下会出现很多问题,为了保证在多线程环境下仍然能够正确安全的访问集合,出现了JUC下的集合框架,下面逐一进行介绍分析。 二、JUC集合框架图 下面给出JUC中的集合框架,之后 ...
分类:
其他好文 时间:
2016-04-26 18:56:39
阅读次数:
100
一、前言 分析了CountDownLatch源码后,下面接着分析Semaphore的源码。Semaphore称为计数信号量,它允许n个任务同时访问某个资源,可以将信号量看做是在向外分发使用资源的许可证,只有成功获取许可证,才能使用资源。下面开始分析Semaphore的源码。 二、Semaphore的 ...
分类:
其他好文 时间:
2016-04-21 15:15:19
阅读次数:
137
一、前言 分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用于同步一个或多个任务,强制他们等待由其他任务执行的一组操作完成。CountDownLatch典型的用法是将一个程序分为n个互相独立的可解决任务,并创建值为n的CountDownLatc ...
分类:
其他好文 时间:
2016-04-20 21:41:56
阅读次数:
291
一、前言 有了前面分析的基础,现在,接着分析CyclicBarrier源码,CyclicBarrier类在进行多线程编程时使用很多,比如,你希望创建一组任务,它们并行执行工作,然后在进行下一个步骤之前等待,直至所有的任务都完成,和join很类似,下面,开始分析源码。 二、CyclicBarrier数 ...
分类:
其他好文 时间:
2016-04-18 20:40:06
阅读次数:
326
一、前言 在分析了AbstractQueuedSynchronier源码后,接着分析ReentrantLock源码,其实在AbstractQueuedSynchronizer的分析中,已经提到过ReentrantLock,ReentrantLock表示下面具体分析ReentrantLock源码。 二 ...
分类:
其他好文 时间:
2016-04-13 22:20:37
阅读次数:
235