码迷,mamicode.com
首页 > 其他好文 > 详细

显示锁和aqs

时间:2019-10-15 00:06:36      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:就是   写锁   png   阻塞   info   mic   nbsp   java   条件   

一、内置锁sync 和 显示锁lock概念

1、synv锁又叫内置锁,不能中断,拿不到无限等待即阻塞;

java自带关键字;

隐式可重入;

重入锁:锁对应对象要多次调用对应方法,如递归

2、

技术图片

 

 lock的lockinterruptiply意思是可中断的;语言层面的接口;

其实现类reentrantlock 可重入锁,sync锁显示对应,可以理解为sync关键字在lock接口下的实现;

3、重入锁:锁对应对象要多次调用对应方法,如递归;

可重入锁,sync内置锁,多次获取和释放,计数器加1减1,方法结束则释放和减1

技术图片

 4、公平锁和非公平锁

公平锁是先到先得,对资源请求先到先得;

技术图片

 

无特殊要求,就是用sync内置锁;

非公平锁效率高的原理:

 技术图片

 

 挂起是暂时移除cpu缓存,不是阻塞,阻塞是等待某一条件;

因为B挂起状态解除需要时间,所以非公平锁效率更高;

 

reentrantLock构造不传true,默认是非公平锁:

技术图片

 5、读写锁,比一般排他锁性能高,但是写线程访问时候其他读和写线程都会被阻塞:

即会有资源竞争,虽然不是同一个锁,但会拦截其他的锁;

技术图片

 二、读写锁性能提示代码实现

1.实体类

技术图片

 

 2.业务类,方法

技术图片

 

 3、主线程,主要作用创建若干个线程

技术图片

 

 

4.1、sync关键字内置锁

技术图片

 

 4.2、读写锁实现

技术图片

 结果是 显示锁读写锁 性能 远胜于 sync关键字内置锁;

三、显示锁lock锁的等待通知:Condition接口

1、

技术图片

 

显示锁和aqs

标签:就是   写锁   png   阻塞   info   mic   nbsp   java   条件   

原文地址:https://www.cnblogs.com/wmqiang/p/11674743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!