解释一下 volatile 关键字的含义与使用场景(以 Java/C/C++ 任一为例)。
Explain the volatile keyword: meaning and typical use cases (Java/C/C++).
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: IBM Interview, Technical
标签: volatile, Concurrency
目标公司: IBM
参考答案摘要
答案 核心:volatile 告诉编译器/运行时不要把该变量的读写做不安全的优化缓存(保证“可见性”,不等于“原子性”)。 Java:volatile 保证写入对其他线程可见,并禁止特定重排序;但复合操作(i++)仍需锁/原子类。 C/C++:更多用于与硬件寄存器/中断共享的内存映射 I/O,防止编译器优化掉读写。 Answer Core idea: volatile prevents unsaf...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。