Java并发编程中,哪种读写锁比传统锁更高效,即StampedLock?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1097个文字,预计阅读时间需要5分钟。
目录
一、读写锁
二、阅读锁
三、乐观读
四、欢迎关注我的博客
五、更多精品知识集合
六、阅读锁
七、在我的《Java并发编程》上一篇文章中,为大众介绍了《ReentrantLock读写锁》
目录- 一、读写锁
- 二、悲观读锁
- 三、乐观读
- 欢迎关注我的博客,更多精品知识合集
在我的《java并发编程》上一篇文章中为大家介绍了《ReentrantLock读写锁》,ReentrantReadWriteLock可以保证最多同时有一个线程在写数据,或者可以同时有多个线程读数据,但读写不能同时进行。
比如你正在做的是日志,有一个线程正在做写操作,但是在写日志的时候你可能需要把日志集中转移到集中管理日志服务,但是此时读线程不能读数据(因为无法获取读锁)。面对这个需求,ReentrantReadWriteLock显然不是我们的解决方案,我们希望:最多一个线程在进行写操作(加写锁),但是同时允许多个线程进行读操作(加读锁),解决方案是StampedLock。
本文共计1097个文字,预计阅读时间需要5分钟。
目录
一、读写锁
二、阅读锁
三、乐观读
四、欢迎关注我的博客
五、更多精品知识集合
六、阅读锁
七、在我的《Java并发编程》上一篇文章中,为大众介绍了《ReentrantLock读写锁》
目录- 一、读写锁
- 二、悲观读锁
- 三、乐观读
- 欢迎关注我的博客,更多精品知识合集
在我的《java并发编程》上一篇文章中为大家介绍了《ReentrantLock读写锁》,ReentrantReadWriteLock可以保证最多同时有一个线程在写数据,或者可以同时有多个线程读数据,但读写不能同时进行。
比如你正在做的是日志,有一个线程正在做写操作,但是在写日志的时候你可能需要把日志集中转移到集中管理日志服务,但是此时读线程不能读数据(因为无法获取读锁)。面对这个需求,ReentrantReadWriteLock显然不是我们的解决方案,我们希望:最多一个线程在进行写操作(加写锁),但是同时允许多个线程进行读操作(加读锁),解决方案是StampedLock。

