logo

volatile 类型变量提供什么保证?

What guarantees does a volatile variable provide?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: System Design

标签: happens-before, visibility, ordering, atomicity

参考答案摘要

答案 volatile 变量提供顺序和可见性保证,例如,JVM 或者 JIT为了获得更好的性能会对语句重排序,但是 volatile 类型变量即使在没有同步块的情况下赋值也不会与其他语句重排序。 volatile 提供 happens-before 的保证,确保一个线程的修改能对其他线程是可见的。某些情况下,volatile 还能提供原子性,如读 64 位数据类型,像 long 和 double ...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

volatile 类型变量提供什么保证?

Hardjavaconcurrencyvolatilejmm

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案