请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师你好!还是关于ReentrantReadWriteLock的问题

在《Java并发编程》中,关于ReentrantReadWriteLock的读写锁的升降级问题。书上说一个线程持有写锁的同时,可以再去获取读锁,同时不允许其他写线程修改资源?这个不是很明白,还有就是书里称写线程获取读锁的行为是锁的降级(写入锁降级为读取锁),而不支持读取锁升级(为什么读取锁变为写入锁就是升级,而写入锁变为读取锁就是降级?)为写入锁(书上说是因为怕升级导致死锁??

正在回答 回答被采纳积分+3

1回答

Jimin 2018-08-27 23:03:40

你好,从写锁变成读锁属于锁降级,从读锁变成写锁属于锁升级,因为读锁是可以被多线程共享的,写锁是单线程独占的,写锁的并发限制比读锁高,这应该就是升级和降级名称的来源。

读锁升级为写锁,确实有可能导致死锁,这个之前有学员问过,具体可以参考:http://coding.imooc.com/learn/questiondetail/49267.html


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信