自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ReentrantReadWriteLock源码(jdk1.8)

ReentrantReadWriteLock是一个可重入读写分离锁,可以认为是在ReentrantLock上的扩展,但是二者没有继承关系,相比于ReentrantLock将读和写分离,读读不互斥,可以提高并发环境下的效率,同样也是基于AQS实现,源码比ReentrantLock要复杂一些,最好能了解AQS源码。 ReentrantReadWriteLock内部有Sync,NoNofairSync,...

2019-04-07 20:41:09 1020

原创 ReentrantLock源码(jdk1.8)

ReentrantLock比较常用的一个锁,基于AQS实现,支持可重入性,公平锁和非公平锁两种模式。 ReentrantLock的可重入性是通过对同步状态值state进行累加实现;ReentrantLock有三个内部类,分别是Sync,NonfairSync,FairSync他们的继承关系如下图所示,ReentrantLock持有一个Sync类型的引用,根据多态的思想,在公平锁和非公平锁模式下,分...

2019-04-06 20:36:14 307

原创 AQS源码(jdk1.8)

AQS(AbustactQueuedSynchronizer)队列同步器是Java同步的基础组件,ReentrantLock,ReentrantReadWriteLock,CountDownLatch,CyclicBarrier,Semaphore等都是基于AQS来实现的,了解AQS的源码对于多线程编程还是有一些帮助,也可以实现自定义的同步组件。 AQS使用了模板方法设计模式,提供了独占锁/共享锁...

2019-04-04 19:12:21 706

空空如也

空空如也

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

TA关注的人

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