volatile关键字
来源:互联网 发布:智器PDF阅读软件 编辑:程序博客网 时间:2024/06/05 17:49
Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存重新读取该成员的值,而且,当成员变量值发生变化时,强迫将变化的值重新写入共享内存,这样两个不同的线程在访问同一个共享变量的值时,始终看到的是同一个值。
java语言规范指出:为了获取最佳的运行速度,允许线程保留共享变量的副本,当这个线程进入或者离开同步代码块时,才与共享成员变量进行比对,如果有变化再更新共享成员变量。这样当多个线程同时访问一个共享变量时,可能会存在值不同步的现象。
而volatile这个值的作用就是告诉VM:对于这个成员变量不能保存它的副本,要直接与共享成员变量交互。
建议:当多个线程同时访问一个共享变量时,可以使用volatile,而当访问的变量已在synchronized代码块中时,不必使用。
缺点:使用volatile将使得VM优化失去作用,导致效率较低,所以要在必要的时候使用。
0 0
- volatile关键字
- 关键字volatile
- volatile关键字
- volatile关键字
- volatile关键字
- volatile关键字
- volatile关键字
- volatile关键字
- volatile关键字
- volatile关键字
- volatile关键字
- volatile关键字
- 关键字volatile
- volatile关键字
- volatile关键字
- volatile 关键字
- 关键字 volatile
- volatile关键字
- 滑雪——dp
- CoreAnimation的介绍
- git_amlogic版本库搭建
- IO复用
- hdoj 4939 Stupid Tower Defense【dp】
- volatile关键字
- 【HDU】4939 Stupid Tower Defense 【dp】
- HDU 3309 Roll The Cube (BFS)
- fmt:formatDate的输出格式详解
- SQl 查询表、存储过程、函数、视图等所在的存储过程
- AC自动机 + DP小结
- Ubuntu lsof 命令整理
- Android权限大全
- MFC改变鼠标形状的方法汇总