在由Java语言编写的程序中,有时候为了提高程序的运行效率,编译器会自动对其进行优化,把经常被访问的变量缓存起来,程序在读取这个变量的时候有可能会直接从缓存(例如寄存器)中来读取这个值,而不会去内存中读取。这样做的一个好处是提高了程序的运行效率,但当遇到多线程编程时,变量的值可能因为别的线程而改变了,而该缓存的值不会相应改变,从而造成应用程序读取的值和实际的变量值不一致。例如,在本次线程内,当读取一个变量时,为提高存取速度,会先把变量读取到一个缓存中,当以后再取变量值时,就直接从缓存中取值,当变量值在本线程...
分类:
其他好文 时间:
2014-08-11 00:27:31
阅读次数:
221
1 //#include "io430.h" 2 #include "MSP430G2553.h" 3 4 int main( void ) 5 { 6 volatile unsigned int i; 7 8 WDTCTL = WDTPW + WDTHOLD; // 关闭...
分类:
其他好文 时间:
2014-08-09 21:07:29
阅读次数:
288
??
1.volatile:要求参数修改每次都从内存中的读取。这种情况要比普通运行的变量需要的时间长。
#include
#include
#include
void
main()
{
time_t
start,
end;
double
res = 0;
time(&start);
...
分类:
其他好文 时间:
2014-08-05 22:35:20
阅读次数:
337
一.当读取一个1.5G的文件写入redis时候,机器资源不够,被系统杀掉进程,实验数据上限作罢. redis string理论支持1GB 二.场景:redis 2.6以上版本已经废弃了vm功能,配置文件已关闭redis持久化功能 当reids占用内存大于分配的内存的时候. 1.volatile-lr...
分类:
其他好文 时间:
2014-08-05 13:33:19
阅读次数:
2130
gcc内嵌汇编简介 在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。 1、简单的内嵌汇编 例: __asm_...
分类:
其他好文 时间:
2014-08-04 21:21:28
阅读次数:
329
一.前言1.编译器优化介绍:由 于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一 定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软...
分类:
编程语言 时间:
2014-08-02 15:25:23
阅读次数:
242
今天看clang的有关DeclSpec.h,看到有关关键字的一些信息。这里总结一下知识点:各种关键字C++关键字(static/register/atuo/extern/volatile/const)释疑 下面关于C++的几个关键字是经常和我们打交道的而我们又经常对这些含糊不清的, 本文根据自己的学...
分类:
编程语言 时间:
2014-08-01 15:35:21
阅读次数:
255
Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了
实现代码线程的安全性。Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized
块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。...
分类:
编程语言 时间:
2014-08-01 00:02:10
阅读次数:
237
C++编译错误cannot have cv-qualifier
在C++中CV指const和volatile两个关键字。有两种情况不能使用CV限定。
一、非成员函数不能含有CV限定,即const和volatile限定
#include
using namespace std;
double getArea() const
{
return ...
分类:
编程语言 时间:
2014-07-31 20:52:07
阅读次数:
227
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatil...
分类:
其他好文 时间:
2014-07-28 15:23:03
阅读次数:
172