C语言中volatile在什么情况下使用
来源:互联网 发布:java常用开源类库 编辑:程序博客网 时间:2024/06/05 15:14
volatile是易变的,不稳定的意思,volatile是关键字,是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其他线程等,遇到这个关键字声明的变量,编译器对访问该变量的代码不在进行优化,从而可以提供对特殊地址的稳定访问。
volatile 关键字告诉编译器该变量是随时可能发生变化的,每次使用它的时候必须从内存中取出他的值,因而编译器生成的汇编代码会从原内存地址中读取数据使用。
如果一个寄存器或者变量表示一个端口或者多个线程的共享数据,就容易出错,所以volatile可以保证对特殊地址的稳定访问。
阅读全文
0 0
- C语言中volatile在什么情况下使用
- 多线程编程中什么情况下需要加 volatile?
- 静态类在什么情况下使用
- 复合索引在什么情况下使用
- IVM在什么情况下可以使用
- @responsebody一般在什么情况下使用
- 在什么情况下使用JAVA缓存
- $apply() 应该在什么情况下使用?
- 在什么情况下使用线程池
- Android singleinstance在什么情况下使用
- C语言声明数组变量时,在什么情况下,可不指定数组大小
- C语言声明数组变量时,在什么情况下,可不指定数组大小
- VB中On Error Resume Next 什么意思,一般在什么情况下使用
- c语言中volatile的使用!
- C语言中volatile关键字的使用
- 在什么情况下应该使用adLockOptimistic,什么情况下应该使用adLockPessimistic....
- 【转】在什么情况下应该使用adLockOptimistic,什么情况下应该使用adLockPessimistic....
- HTTP协议中POST、GET、HEAD的区别是什么?分别在什么情况下使用?
- 大数据工具命令行学习
- 【Lucene】Apache Lucene全文检索引擎架构之入门实战
- AngularJS 服务层的三种创建方式(provider,factory,service)
- java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject解决办法
- 给大家推荐几个阿里云的小工具
- C语言中volatile在什么情况下使用
- liunx中java服务在后台运行不占用一个窗口
- Java 多线程
- 【Lucene】Apache Lucene全文检索引擎架构之构建索引
- 从架构理解价值
- SpringBoot 自定义拦截器
- Apache Lucene全文检索引擎架构之搜索功能
- 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示
- CentOS安装搭建Tomcat 7