synchronized 和 volatile 的区别是什么?
What are the differences between synchronized and volatile?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Concurrency
标签: volatile, synchronized
参考答案摘要
答案 volatile 是变量修饰符;synchronized 是修饰类、方法、代码段。 volatile 只能保证变量的修改可见性,不能保证原子性;而 synchronized 可以保证变量的修改可见性和原子性。 volatile 不会造成线程的阻塞;synchronized 可能会造成线程的阻塞。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。