读锁跟写锁的区别

Posted wengshuhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读锁跟写锁的区别相关的知识,希望对你有一定的参考价值。

读锁:读读不互斥
写锁:独占

lock下有读写锁 ReadWriteLock
synchronized 是独占的

1.Java并发库中ReetrantReadWriteLock实现了ReadWriteLock接口并添加了可重入的特性
2.ReetrantReadWriteLock读写锁的效率明显高于synchronized关键字
3.ReetrantReadWriteLock读写锁的实现中,读锁使用共享模式;写锁使用独占模式,换句话说,读锁可以在没有写锁的时候被多个线程同时持有,写锁是独占的
4.ReetrantReadWriteLock读写锁的实现中,需要注意的,当有读锁时,写锁就不能获得;而当有写锁时,除了获得写锁的这个线程可以获得读锁外,其他线程不能获得读锁






以上是关于读锁跟写锁的区别的主要内容,如果未能解决你的问题,请参考以下文章

Mysql的锁(S锁和X锁的区别)

golang读写锁实现与核心原理分析

C++ 多线程 读锁之后不能跟写锁 shared_lock之后不能跟unique_lock 死锁 解决方案

ReentrantReadWriteLock源码分析

线程同步互斥锁和读写锁的区别和各自适用场景

java中读锁的作用,为啥要用读锁