java的StampedLock简单介绍

简介: java的StampedLock简单介绍

StampedLock是一个基础能力的锁,它有3种模式控制读写访问。锁状态通过版本和模式组成。锁获取方法返回一个印记表示和控制访问到一个锁状态;试图加锁返回一个特定值,0表示获取访问失败。锁释放和转换要求一个印记参数,如果他们不匹配锁状态将失败。锁的3种模式:写模式、度模式、优化读模式。
这个类也提供三种模式直接的相互转换。例如:方法tryConvertToWriteLock(long) 试图升级一个模式,返回一个有效的写印记假如在读模式到写模式。
StampedLocks被设计使用在开发线程安全的内部使用工具。他们使用在可靠的数据属性、对象、方法被保护。他们不是可重入的,所以锁体不应该调用其他不知道的方法重复获取锁。
文档介绍如下图:
image.png

相关文章
|
8月前
|
存储 Java
面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
【5月更文挑战第9天】面试官:素有Java锁王称号的‘StampedLock’你知道吗?我:这什么鬼?
105 24
|
8月前
|
Java
【JAVA】谈谈 ReadWriteLock 和 StampedLock
【JAVA】谈谈 ReadWriteLock 和 StampedLock
|
7月前
|
存储 缓存 Java
深入剖析Java并发库(JUC)之StampedLock的应用与原理
深入剖析Java并发库(JUC)之StampedLock的应用与原理
深入剖析Java并发库(JUC)之StampedLock的应用与原理
|
Java
Java Review - 并发编程_StampedLock锁探究
Java Review - 并发编程_StampedLock锁探究
80 0
聊聊java中的StampedLock并发锁原理
聊聊java中的StampedLock并发锁原理
131 0
聊聊java中的StampedLock并发锁原理
|
Java
Java并发编程 - AQS 之 StampedLock
Java并发编程 - AQS 之 StampedLock
153 0
面试官:知道Java1.8中新加的StampedLock吗?
面试官:知道Java1.8中新加的StampedLock吗?
|
Java
Java并发编程笔记之StampedLock锁源码探究
StampedLock是JUC并发包里面JDK1.8版本新增的一个锁,该锁提供了三种模式的读写控制,当调用获取锁的系列函数的时候,会返回一个long 型的变量,该变量被称为戳记(stamp),这个戳记代表了锁的状态。
3214 0
|
安全 Java API
Java中的‘锁’-StampedLock
接上篇 5、显式锁StampedLock     StampedLock锁是基于能力的锁,可以很好的实现乐观锁和悲观锁的逻辑,此处为jdk1.8提供的api,而且理解不深入的情况下容易出现死锁或者不必要的麻烦,所以谨慎使用 三种模式     写:wri...
1214 0
|
Java API 监控
Java 8新特性探究(十)StampedLock将是解决同步问题的新宠
本文将从synchronized、Lock到新增的StampedLock进行对比分析
1686 0