Java关键字volatile

来源:互联网 发布:网络黄金egd崩盘了吗 编辑:程序博客网 时间:2024/06/06 09:03

http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html
http://www.infoq.com/cn/articles/java-memory-model-4/

概述

修饰变量!

Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。

volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。

Volatile 变量

Volatile 变量具有 synchronized 的可见性特性(读),但是不具备原子特性。线程能够自动发现 volatile 变量的最新值。(用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最新值)

0 0