没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
17页
java并发包详解,condition重入锁;Semaphore信号量;ReadWriteLock读写锁;CountDownLatch计时器;CyclicBarrier循环栅栏; 重⼊锁可以完全替代synchronized关键字。在JDK5.0的早期版本中,重⼊锁的性能远远好于 synchronized,但从JDK6.0开始,JDK在synchronized上做了⼤量的优化,使得两者的性能差距并 不⼤。重⼊锁对逻辑控制的灵活性要远远好于synchronized。 之所以称之为重⼊锁,就是⼀个线程允许反复进⼊。当然,这⾥的反复仅仅局限于⼀个线程;如 果同⼀个线程多次获锁,那么在释放锁的时候,也必须释放相同次数。如果释放锁的次数多,那么 会得到⼀个java.lang.IllegalMonitorStateException异常,反之,如果释放锁的次数少,那么相当 于线程还持有这个锁
资源推荐
资源详情
资源评论
1
【
讲
义
】
第
讲
:
A
QS
和
J
U
C
⼀
、
R
ee
ntr
a
nt
L
o
ck
重
⼊
锁
.>
概
述
.>
中
断
响
应
l
o
ck
I
nt
e
rrupt
ibl
y
()
.>
锁
申
请
等
待
限
时
try
L
o
ck
(
l
on
g
t
i
m
e
,
T
i
m
e
U
n
i
t
un
i
t
)
.>
公
平
锁
和
⾮
公
平
锁
.>
A
QS
源
码
解
析
⼆
、
C
on
di
t
i
on
重
⼊
锁
的
搭
配
类
三
、
S
e
m
a
p
h
or
e
信
号
量
四
、
R
ead
W
r
i
t
e
L
o
ck
读
写
锁
五
、
C
ount
D
own
L
a
t
ch
倒
计
时
器
六
、
C
y
clic
B
a
rr
ie
r
循
环
栅栏
七
、
L
o
ck
S
upport
线
程
阻
塞
⼯
具
类
重
⼊
锁
可
以
完
全
替
代
synchronized
关
键
字
。
在
JDK
5
.
0
的
早
期
版
本
中
,
重
⼊
锁
的
性
能
远远
好
于
synchronized
,
但从
JDK
6
.
0
开
始
,
JDK
在
synchronized
上
做
了
⼤
量
的
优
化
,
使
得
两
者
的
性
能
差
距
并
不
⼤
。
重
⼊
锁
对
逻辑
控
制
的
灵
活
性
要
远远
好
于
synchronized
。
重
⼊
锁
常
⽤
⽅
法
下
⾯
是
使
⽤
重
⼊
锁
的
简
单
示
例
:
⼀
、
ReentrantLock
重
⼊
锁
1
.
1
>
概
述
●
●
void
lock()
:
获
得
锁
,
如
果
锁
已
经
被
占
⽤
,
则
等
待
。
void
lockInterruptibly()
:
获
得
锁
,
但优
先
响
应
中
断
。
boolean
tryLock()
:
尝
试
获
得
锁
,
如
果
成
功
,
返
回
true
;
如
果
失
败
则
返
回
false
;
获
得
不
到
锁
,
则
不
进
⾏
等
待
,
⽴
即
返
回
。
boolean
tryLock(long
time,
TimeUnit
unit)
:
在
给
定
时
间
内
尝
试
获
得
锁
。
boolean
isHeldByCurrentThread()
:
判
断
担
⼼
线
程
是
否
持
有
锁
。
void
unlock()
:
释
放
锁
。
●
2
之
所
以
称
之为
重
⼊
锁
,
就
是
⼀个
线
程
允
许
反
复
进
⼊
。
当
然
,
这
⾥
的
反
复
仅仅
局
限
于
⼀个
线
程
;
如
果
同
⼀个
线
程
多
次
获
锁
,
那
么
在
释
放
锁
的
时
候
,
也
必
须
释
放
相
同
次
数
。
如
果
释
放
锁
的
次
数
多
,
那
么
会
得
到
⼀个
java.lang.IllegalMonitorStateException
异常
,
反
之
,
如
果
释
放
锁
的
次
数
少
,
那
么
相
当
于
线
程
还
持
有
这
个
锁
。
如
下
所
示
:
●
3
如
果
使
⽤
synchronized
,
要
么
获
得
锁
,
要
么保
持
等
待
。
⽽
如
果
使
⽤
了
重
⼊
锁
,
则
提
供了
另
⼀
种
可
能
,
那
就
是
线
程
可
以
被
中
断
。
也
就
是
在
等
待
锁
的
过
程
中
,
程
序
可
以
根
据
需
要
取
消
对
锁
的
请
求
。
即
:
如
果
⼀个
线
程
正
在
等
待
锁
,
那
么
它
依
然
可
以
收
到
⼀个
通
知
,
被
告
知
⽆
须
再
等
待
,
可
以
停
⽌
⼯
作了
。
可
以
很
好
的
应
对
死
锁
问题
。
示
例
如
下
所
示
:
1
.
2
>
中
断
响
应
lockInterruptibly()
●
4
剩余16页未读,继续阅读
资源评论
warriorup
- 粉丝: 124
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功