自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 并发系列(十一)----- ReentrantLock的使用

一 简介ReentrantLock在中文的意思是重入锁与synchronized同步语意一样(具体的区别下面会总结),重入的意思是一个线程可以多次加锁,但是释放锁的时候要释放加锁的次数。ReentrantLock实现就是利用AQS独占模式,内部维护了一个AQS的子类Sync,Sync有两个子类FairSync和NofairSync这两个分别是ReentrantLock的两种锁,公平锁和非公平锁...

2018-11-27 18:51:19 326

原创 并发系列(十)-----AQS详解等待队列

一 简介前面几篇已经将AQS的框架,AQS的同步队列,AQS中的独占模式下资源获取,AQS共享模式下的资源的获取总结了一下,接下来就剩最后一部分了,等待队列。等待队列又叫条件队列,它只能使用在独占模式下。在我们阅读等待队列的时候要知道的一点是,等待队列中的线程是不会直接获取资源state的,它也是通过同步队列来获取资源的。一会在看源码中会说明。二 源码解析我们知道同步队列和条件队列都共...

2018-11-23 18:50:25 1606

原创 并发系列(九)-----AQS详解共享模式的资源获取与释放

一 简介 到目前为止已经知道了AQS中同步队列的基本的工作原理可以总结为维护同步队列,获取资源和改变线程状态。上一篇文章中主要总结了独占模式下的资源获取AQS详解独占模式资源的获取与释放。这篇主要总结一下AQS中的共享模式。 共享模式从字面上理解就是,这个资源可以被多个线程共享。在独占模式下,我们知道state的状态最初的值是0.如果某个线程获取到资源了state就加了1释放资源...

2018-11-22 16:27:00 945

原创 并发系列(八)-----AQS详解独占模式资源的获取与释放

一 简介上一篇总结了AQS的整体架构,以及它的组成,和它们之间的关系。AQS主要的三部分分别是volatile修饰的变量、同步队列和等待队列其中,同步队列在上篇总结中已经介绍过了,不知道的话可以点这里AQS的框架组成以及同步队列源码解析。这一片文章主要总结独占模式下资源的获取。二 资源的获取源码解析在上一篇总结中,最后过源码的时候看到addWater(),同时我们也提出两个猜想获取资源...

2018-11-19 17:04:59 408

原创 并发系列(七)-----AQS详解同步对列

一 简介 AbstractQueuedSynchronizer,即队列同步器(简称AQS)。它是构建锁或者其他同步组件的基础框架。它的设计是基于模板方法模式的,也就是说,使用者需要继承同步器并重写指定的方法,随后将同步器组合在自定义同步组件的实现中,并调用同步器提供的模板方法,而这些模板方法将会调用使用者重写的方法。二 AQS的框架说明 AbstractQueuedSyn...

2018-11-15 14:29:20 417

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除