模型服务连接失败

StampedLock 的乐观读是如何执行的?

并发JavaJava 并发
分类
Java 并发
难度
未设置
来源数
1
更新时间
2026/03/28 21:25

答案

首先在尝试获取乐观读锁的时候,会返回一个stamp,如果为0,说明此时有写线程再执行,获取失败,如果不为0则获取成功,然后拿stamp再次验证,成功则执行代码。

相关题目(5)

Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(并发).md

knowledge_note
Question 64: StampedLock 的乐观读是如何执行的? Source answer: 首先在尝试获取乐观读锁的时候,会返回一个stamp,如果为0,说明此时有写线程再执行,获取失败,如果不为0则获取成功,然后拿stamp再次验证,成功则执行代码。 Reviewed answer: 先尝试获取乐观读 stamp,若返回 0 表示当前有写线程,获取失败;若非 0 则先按乐观方式读取数据,随后再调用校验方法验证 stamp 是否仍有效,验证通过才能使用读取结果。