码迷,mamicode.com
首页 >  
搜索关键字:volatile    ( 1981个结果
Java基础知识
volatile:java关键字,意为易变的,不稳定的,标识修饰java同步字段,示例:java单利模式public class ApplicationCache{ private Map attributeMap; // volatile so that JVM out-of-order...
分类:编程语言   时间:2014-05-19 14:56:56    阅读次数:334
nanoTime对volatile 测试的一种写法
今天脑筋有点搭牢,想了半天才看出为什么以下两段代码效果是相同的。。。第一种好处是可以直接批量复制黏贴system.out, 不用改什么东西 private static long i; private volatile static long vt; private static final int...
分类:其他好文   时间:2014-05-16 00:43:28    阅读次数:387
java锁和同步
Java 语言设计中的一大创新就是:第一个把跨平台线程模型和锁模型应用到语言中去,Java 语言包括了跨线程的关键字synchronized和volatile,使用关键字和java类库就能够简单的实现线程间的同步。在简化与平台无关的并发程序开发时,它没有使并发程序的编写工作变得繁琐,反而使它变得更容...
分类:编程语言   时间:2014-05-15 16:33:22    阅读次数:460
Java线程(二):线程同步synchronized和volatile
上篇通过一个简单的例子说明了线程安全与不安全,在例子中不安全的情况下输出的结果恰好是逐个递增的(其实是巧合,多运行几次,会产生不同的输出结果),为什么会产生这样的结果呢,因为建立的Count对象是线程共享的,一个线程改变了其成员变量num值,下一个线程正巧读到了修改后的num,所以会递增输出。         要说明线程同步问题首先要说明Java线程的两个特性,可见性和有序性。多个线程之间是...
分类:编程语言   时间:2014-05-15 12:15:49    阅读次数:355
这个.c文件根本就不是用来编译运行的
#define DEFINE(sym, val)          asm volatile("\n->" #sym " %0 " #val : : "i" (val)) 那个宏定义在asm-offsets.c中,这个.c文件根本就不是用来编译运行的,只是在编译内核的时候,用它生成一个asm-offsets.s文件,然后使用一个脚本将这个asm-offsets.s再转换为asm-offset...
分类:其他好文   时间:2014-05-14 00:16:28    阅读次数:425
详解C中volatile关键字
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。例如:volatile ...
分类:其他好文   时间:2014-05-11 23:27:27    阅读次数:404
java点滴之volatile关键字特性
一 问题引入 JVM把内存分为两层,一层为大的主存,另外一个是工作内存(属于每个线程自己专属的),正常情况下,线程在用到某个变量的值时,都是先取到工作内存中进行处理,然后再写回主存,这样就会带来不同线程变量值不同步的问题。 volatile字面意思是易挥发,不稳定,比如100个线程同时访问修改的一个字段值,那么这种值的特性明显和JVM中高速缓存机制不相符,这种值是不适合放在各线程自己的寄存...
分类:编程语言   时间:2014-05-09 21:07:01    阅读次数:324
C# volatile & lock
volatile的使用场景:多个线程同时访问一个变量,CLR为了效率,允许每个线程进行本地缓存,这就导致了变量的不一致性。volatile就是为了解决这个问题,volatile修饰的变量,不允许线程进行本地缓存,每个线程的读写都是直接操作在共享内存上,这就保证了变量始终具有一致性。缺点很明显:牺牲了...
分类:其他好文   时间:2014-05-09 03:19:04    阅读次数:256
Java transient volatile关键字(转)
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入...
分类:编程语言   时间:2014-05-07 13:08:37    阅读次数:312
C++之易混淆知识点一
1、const、mutable与volatile的区别:const表明内存被初始化以后,程序将不能对它进行修改。volatile则表明,即使程序代码没有对内存单元进行修改,但是里面的值也可能会发生变化。例如:将一个指针指向某个硬件位置,其中包含了来自串行端口的时间和信息,在某些情况下,硬件而不是程序...
分类:编程语言   时间:2014-05-06 23:53:29    阅读次数:518
1981条   上一页 1 ... 196 197 198 199 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!