- 1
- 0
- 约8.31千字
- 约 6页
- 2016-03-29 发布于重庆
- 举报
尚学堂Java培训理论与实践正确使用Volatile变量
北京尚学堂提供
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的?synchronized”;与?synchronized?块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是?synchronized?的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。
锁提供了两种主要特性:互斥(mutual exclusion)?和可见性(visibility)。互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 —— 如果没有同步机制提供的这种可见性保证,线程看到的共享变量可能是修改前的值或不一致的值,这将引发许多严重问题。
Volatile 变量
Volatile 变量具有?synchronized?的可见性特性,但是不具备原子特性。这就是说线程能够自动发现 volatile 变量的最新值。Volatile 变量可用于提供线程安全,但是只能应用于非常有限的一组用例:多个变量之间或者某个变量的当前值与修改后值之间没有约束。因此,单独使用 volatile 还不足以实现计数器、互斥锁或
您可能关注的文档
- 实验二用户线接口电路实验及二四线变换原理.doc
- 实验二用透射光栅测定光波的波长.doc
- 实验二生产者和消费者.doc
- 实验五蔗糖的转化.doc
- 实验五酶的基本性质.doc
- 实验五钠黄光双线波长差的测定.doc
- 实验十八脂肪含量及油脂品质检测.doc
- 实验名称-实验二_苯甲酸乙酯的水蒸气蒸馏..doc
- 实验四槐米中芸香苷的提取分离与鉴定.doc
- 实验四二阶闭环系统的频率特性曲线.doc
- 建筑工程材料选择题:碳素结构钢与钢筋性能.pdf
- 眼部护理的跨文化比较.pptx
- 眼部护理:季节性变化的影响.pptx
- 眼部护理:男士与女士的特别需求.pptx
- 《快乐读书吧:在那奇妙的王国里》(课件)-2025-2026学年语文三年级上册统编版.pptx
- 眼部护理:眼部疲劳的预防措施.pptx
- 2026届九年级英语中考冲刺分层模拟卷与答案解析(质量检查版,含听力原文、作答空间和评分细则).docx
- 2026版项目投资合作协议书范本条款清单与签署风控提示模板(流程图).docx
- 2026版企业通用岗位结构化面试题库与综合评分表规范填写规范与审批台账模板(看板模板).docx
- 2026版企业会计准则现金流量表编制口径手册(执行版,含分类口径/填报模板填写规范与审批台账模板(测算模型).docx
原创力文档

文档评论(0)