老师你好!还是关于ReentrantReadWriteLock的问题
来源:5-8 并发容器及安全共享策略总结
qq_湿腻焦糊_0
2018-08-27
在《Java并发编程》中,关于ReentrantReadWriteLock的读写锁的升降级问题。书上说一个线程持有写锁的同时,可以再去获取读锁,同时不允许其他写线程修改资源?这个不是很明白,还有就是书里称写线程获取读锁的行为是锁的降级(写入锁降级为读取锁),而不支持读取锁升级(为什么读取锁变为写入锁就是升级,而写入锁变为读取锁就是降级?)为写入锁(书上说是因为怕升级导致死锁??)
写回答
1回答
-
Jimin
2018-08-27
你好,从写锁变成读锁属于锁降级,从读锁变成写锁属于锁升级,因为读锁是可以被多线程共享的,写锁是单线程独占的,写锁的并发限制比读锁高,这应该就是升级和降级名称的来源。
读锁升级为写锁,确实有可能导致死锁,这个之前有学员问过,具体可以参考:http://coding.imooc.com/learn/questiondetail/49267.html
00
相似问题