`

MSDN:volatile 声明符

    博客分类:
  • Code
 
阅读更多

volatile 声明符

volatile关键字是一个类型限定词,用于声明一个对象能够在程序中被非程序语句所修改,比如操作系统,硬件,或者并发运行的其他线程

下面的例子声明了一个volatile整形nVint,它的值可以被外部进程所修改:

int volatile nVint;

在优化过程中,不使用被声明为volatile的对象,因为它们的值随时都可能改变。系统总是在volatile对象的值被请求的时候读取当前的值,即使上一条指令请求的是同一个对象的值。同样,对对象进行赋值操作会立刻写入它的值。

volatile限定词的用法之一就是给异步进程提供内存的访问权限,比如中断操作。

msdn, volatile
分享到:
评论

相关推荐

    Java并发编程:volatile关键字解析

    Java并发编程:volatile关键字解析

    Java基础:volatile详解.pdf

    Java基础:volatile详解

    Java线程:volatile关键字

    主要讲述java线程volatile关键字

    Java并发编程:volatile关键字详细解析

    主要介绍了Java并发编程:volatile关键字详细解析,对学习volatile关键字有一定的认识,有需要的可以了解一下。

    关于C语言中volatile关键字

    当要求使用volatile声明变量值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。精确地说就是,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以...

    Java 并发编程:volatile的使用及其原理解析

    下面小编就为大家带来一篇Java 并发编程:volatile的使用及其原理解析。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    深入讲解C语言编程中volatile修饰符的作用

    主要介绍了C语言编程中volatile修饰符的作用,文章深入到内存优化方面进行解析,非常推荐!需要的朋友可以参考下

    extern_volatile等修饰符的用法

    extern_volatile等修饰符的用法

    Java实习生面试复习(八):volatile的学习

    volatile也是多线程这块经常问到的基础问题,以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,我们这篇文章就来学习一下volitile关键字吧!...

    Java并发:volatile内存可见性和指令重排

    volatile两大作用  1、保证内存可见性  2、防止指令重排  此外需注意volatile并不保证操作的原子性。  (一)内存可见性  1 概念  JVM内存模型:主内存和线程独立的工作内存  Java内存模型规定,对于...

    volatile关键字 Const关键字 static关键字 mutable 关键字

    C/C++ 嵌入式 一些关键字: volatile关键字 Const关键字 static关键字 mutable 关键字

    c语言面试经常提问到的几个修饰符

    volatile:(嵌入式程序员必须掌握的)volatile最初的意思是表示汽油容易挥发,在c中的作用大概有两点(1)表示变量是易失的,易变的。(2)强制访存操作,防止编译器去优化,告诉编译器每次必须去内存中取值,而...

    CC++ Volatile关键词剖析1

    相当简介,高效率。测试用例四:Volatile 变量代码汇编测试用例四,与测试用例三类似,不同之处在于,a,b,c 三个变量,都是 volatile 变量。这个

    Volatile详解,深入学习Volatile

    详细说明 并举例说明了VOlatile的作用及用法,特别是嵌入式程序员要注意的

    Java并发编程(5)volatile变量修饰符-意料之外

    Java并发编程(5)volatile变量修饰符—意料之外的问题(含代码)编程开发技术共6页.pdf.zip

    关于volatile关键字的说明以及测试

    volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如 操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行 优化,从而可以提供...

    Java 理论与实践: 正确使用 volatile 变量 线程同步

     而volatile关键字是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。  使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,...

    C#多线程编程中的锁系统(二)

    简单来说: volatile关键字是告诉c#编译器和JIT编译器,不对volatile标记的字段做任何的缓存。确保字段读写都是原子操作,最新值。 这不就是锁吗? 其这货它根本不是锁, 它的原子操作是基于CPU本身的,非阻塞的。 ...

    C中的volatile使用方法

    volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会 进行编译优化,加volatile关键字的变量有关...

    volatile变量详解

    容易忽略的变量声明,但是很重要 volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.

Global site tag (gtag.js) - Google Analytics