CSDN论坛 > Java > Java SE

请问volatile这个关键字是什么意思啊? [问题点数:50分,结帖人luifsigo]

Bbs1
本版专家分:0
结帖率 100%
CSDN今日推荐
Bbs7
本版专家分:10427
Bbs5
本版专家分:3166
匿名用户不能发表回复!
其他相关推荐
关键字volatile的作用和三个不同的应用场合
学习C关键词的时候,我们看到了一个新面孔——volatile。在程序员面试宝典中提到“关键字volatile的面试例题是考查嵌入式编程”,中间有一段解析: 回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。搞嵌入式的家伙们经常同硬件、中断、RTOS等等打交道,所有这些都要求用到volatile变量。不懂得volatile的内容将会带来灾难。 假设被面
Java 关键字volatile 与 synchronized 作用与区别
1,volatile    volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的。   在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器)。为了性能,一个线程会在自己的memory中保持要访问的变量的副本。这样就会出现同一个变量在某个瞬间,在一个线程的memory中的值可能与另外一个线程memory中的值,或者main memo
volatile关键字作用与内存可见性、指令重排序概述[JAVA]
在理解volotile关键字的作用之前,先粗略解释下内存可见性与指令重排序。1. 内存可见性Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存,并且线程只能访问自己的工作内存,不可以访问其它线程的工作内存。工作内存中保存了主内存中共享变量的副本,线程要操作这些共享变量,只能通过操作工作内存中的副本来实现,操作完毕之后再同步回到主内存当中,其JVM内存模型大
C# volatile 理解
浅谈对C# volatile关键字的理解        一、MSDN解释: The volatile keyword indicates that a field might be modified by multiple threads that are executing at the same time. Fields that are declared volatile are
多线程之volatile关键字
之前讲解了多线程的synchronized关键字,现在再学习一下volatile关键字。1 volatile关键字用来做什么?线程安全包括两个方面:原子性和可见性。Java的同步机制都是围绕这两个方面来确保线程安全的。其中原子性是指多个动作必须依次连续完成,必须保持一致性和完整性,这可以通过synchronized关键字来实现;可见性是指变量在多个线程之间是可见的,即如果其中一个线程改变了变量的值,
volatile 关键字不具备原子性
volatile 关键字的主要作用是使变量在多个线程可见(不具备原子性)。 volation 关键字不具备->原子性 使用原子性需使用Atomic 序列类 package com.dt.test; import java.util.concurrent.atomic.AtomicInteger; public class Test { // private sta
C++中的关键字 volatile 详解
突然想到一个解释volatile关键字的很好的例子。就当做引子,来讲一讲这个关键字吧。 const int iNum = 0; int *iPtr = const_cast(&iNum); *iPtr = 5; cout << "iNum = "<< iNum << endl; cout << "*iPtr = " << *iPtr << endl; cout << "addr iNum: "
关键字volatile与关键字synchronized
关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值。使用关键字volatile增加了实例变量在多个线程之间的可见性。但是volatile关键字最致命的缺点是不支持原子性。    下面将关键字volatile和synchronized进行比较: 1)关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要
关键字volatile是用来干什么的?
一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中进行。不同线程之间也无法直接访问对方工作内存中的变量,线程间变量值的传递均需要通过主...
通过单例模式理解synchronized,volatile
转载地址:http://www.jianshu.com/p/5b2f063d9f68 synchronized 关键字 synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。是一种阻塞性的锁,synchronized既可以加在一段代码上,也可以加在方法上。 synchronized(this)及非static
关闭