自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 32张图带你了解ReentrantLock&AQS源码

1.ReentrantLock加锁过程 reentrantLock的加锁方式是调用lock方法 而真正调用的是sync.lock() sync默认是一个非公平锁(可以插队),与其说是非公平锁,其实是一个非公平队列(也就是AQS) 所以加锁的时候真正调用的是下图中的lock方法 1.1加锁具体过程 在下图中加锁的时候会先检查锁的状态(state),这里state是一个很重要的概念,state代表这里的锁是否已经被别人获取了,0代表没有,>1则代表已经加锁,这里>1是因为一个线程可以获取方

2021-03-25 15:56:14 130 1

空空如也

空空如也

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

TA关注的人

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