JAVA volatile 关键字
2016-04-29 16:47
288 查看
一、volatile(易变的)
Java 语言提供了一种稍弱的同步机制,即volatile修饰变量.用来确保将变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新. 当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是许多线程共享的。
二、volatile是否线程安全
volatile对所有线程立即可见,对volatile变量所有的写操作都能立即反应到其他线程之中,所以可以理解为基于volatile变量的运算是线程安全的,实际上分析.class文件,volatile并非线程安全。
Java 语言提供了一种稍弱的同步机制,即volatile修饰变量.用来确保将变量的更新操作通知到其他线程,保证了新值能立即同步到主内存,以及每次使用前立即从主内存刷新. 当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是许多线程共享的。
二、volatile是否线程安全
volatile对所有线程立即可见,对volatile变量所有的写操作都能立即反应到其他线程之中,所以可以理解为基于volatile变量的运算是线程安全的,实际上分析.class文件,volatile并非线程安全。
相关文章推荐
- java中几种常见的连接MySQL数据库的方式
- macbook pro 下eclipse配置svn插件
- Java应用调优之-目标与资料篇
- Spring技术内幕--AOP技术原理
- 算法收藏(stl 背包 并查集 矩阵乘法 java大数)
- myeclipse从数据库反射生成实体类和映射文件
- spring注解详解
- Java内部类的全限定名规律
- [改善Java代码] 提倡异常的封装
- [改善Java代码]使用构造函数协助描述枚举项
- 面向对象三大基本特性,五大基本原则
- Spring MVC静态资源处理
- MyEclipse 中各种 libraries 的含义
- rxJava 学习之路(二)
- Servlet & JSP - Java Web 访问资源的路径问题
- java实现批量删除用户,选中删除用户
- 使用spring mvc 4.2.x.jar ClassNotFoundException:org.springframework.web.cors.CorsConfigurationSource
- java5 CountDownLatch线程同步工具类
- Spring事务管理的5种配置方式
- javaweb项目中中文乱码