volatile 类型变量提供什么保证?
2024-08-28 08:48:04
volatile 变量提供顺序和可见性保证,例如,JVM 或者 JIT 为了获得更好的性能
会对语句重排序,但是 volatile 类型变量即使在没有同步块的情况下赋值也不会
与其他语句重排序。 volatile 提供 happens-before 的保证,确保一个线程的
修改能对其他线程是可见的。某些情况下,volatile 还能提供原子性,如读 64 位
数据类型,像 long 和 double 都不是原子的,但 volatile 类型的 double 和
long 就是原子的。
最新文章
- iOS 数据存储之SQLite3的使用
- postgres中的中文分词zhparser
- C#多线程编程总结
- HDU4511 小明系列故事——女友的考验(AC自动机 + DP)
- android 一个简单的服务例子
- 使用Atlas实现MySQL读写分离
- 【第六篇】javascript显示当前的时间(年月日 时分秒 星期)
- C语言的本质(36)——makefile基础
- Memcached基本架构和思想
- Java对存储过程的调用方法
- Android-Bluetooth Low Energy(BLE)
- js坚持不懈之15:修改html内容和属性的方法
- 任意activity作为启动页
- iOS开发简记(5):设备唯一标识与全局变量
- 项目实战02:LVS 实现负载均衡
- Innodb中MySQL如何快速删除2T的大表
- 【转】机器学习在B2B的应用
- 【刷题】AtCoder Regular Contest 001
- php 实现php代码的加密解密
- FJUT 倒水(倒水问题)题解