java多线程 -- ReadWriteLock 读写锁
Posted 西北野狼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程 -- ReadWriteLock 读写锁相关的知识,希望对你有一定的参考价值。
写一条线程,读多条线程能够提升效率。
写写/读写 需要“互斥”;
读读 不需要互斥.
- ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有 writer,读取锁可以由多个 reader 线程同时保持。写入锁是独占的。
- ReadWriteLock 读取操作通常不会改变共享资源,但执行写入操作时,必须独占方式来获取锁。对于读取操作占多数的数据结构。 ReadWriteLock 能提供比独占锁更高的并发性。而对于只读的数据结构,其中包含的不变性可以完全不需要考虑加锁操作。
api相关方法:
- Lock readLock()返回用于读取操作的锁。
- Lock writeLock()返回用于写入操作的锁。
以上是关于java多线程 -- ReadWriteLock 读写锁的主要内容,如果未能解决你的问题,请参考以下文章
Java多线程之~~~ReadWriteLock 读写分离的多线程实现
Java多线程工具包java.util.concurrent---ReadWriteLock