1. 首页
  2. 服务器应用
  3. Web服务器
  4. Java中Volatile的作用实例解析

Java中Volatile的作用实例解析

上传者: 2020-08-30 03:35:32上传 PDF文件 176.1KB 热度 26次

Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。锁提供了两种主要特性:互斥 和可见性。这就是说线程能够自动发现 volatile 变量的最新值。此外,volatile 变量不会像锁那样造成线程阻塞,因此也很少造成可伸缩性问题。正确使用 volatile 变量的条件您只能在有限的一些情形下使用 volatile 变量替代锁。实际上,这些条件表明,可以被写入 volatile 变量的这些有效值独立于任何程序的状态,包括变量的当前状态。第一个条件的限制使 volatile 变量不能用作线程安全计数器。清单 1 显示了一个非线程安全的数值范围类。

下载地址
用户评论