C++继承了C中的隐式和显式转换的方式。但这种转换并不是安全和严格的, 加上C++本身对象模型的复杂性,C++增加了四个显示转换的关键字。(C++是强类型语言) 经过编码测试,小结如下: const_cast:仅用于去掉完全同类型的const,volatile约束,不能含有任何其它类型的转换,若不含 ...
分类:
其他好文 时间:
2016-03-30 23:47:07
阅读次数:
329
1、CPU速度与内存速度不再一个数量级上,不是每次都到主存上读取与写入变量。而是采用CPU高速缓存:程序在运行过程中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可以直接从它的高速缓存读取数据和向其中写入数据,当运算结束之后,再将高速缓存中的数据刷新到主存当中。 2 ...
分类:
编程语言 时间:
2016-03-28 18:45:11
阅读次数:
142
volatile是变量修饰符,而synchronized则作用于一段代码或方法;看如下三句get代码: geti1()得到存储在当前线程中i1的数值。多个线程有多个i1变量拷贝,而且这些i1之间可以互不相同。换句话说,另一个线程可能已经改 变了它线程内的i1值,而这个值可以和当前线程中的i1值不相同
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来
分类:
编程语言 时间:
2016-03-20 21:21:37
阅读次数:
279
解决方案:一个资源,一次只允许一个线程使用,其他线程只能等待。直到资源被释放。 问题抽象:当某一资源可能同时被多个线程读取和修改时,资源的状态将变得难以预料。 线程同步方案:volatile、lock、Interlocked、Moniter、SpinLock、ReadWriteLockSlim、Mu
分类:
编程语言 时间:
2016-03-14 13:37:03
阅读次数:
146
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来
分类:
编程语言 时间:
2016-03-14 10:42:13
阅读次数:
188
NandFlash详述 转自:http://wenku.baidu.com/view/04d9330bb52acfc789ebc92f.html?re=view 1. 硬件特性: 【Flash的硬件实现机制】 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile
分类:
其他好文 时间:
2016-03-12 10:19:55
阅读次数:
381
1、锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。 互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。 可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改
分类:
其他好文 时间:
2016-03-11 18:56:46
阅读次数:
138
一、串口编写总框图 二、分步介绍 #define GPHCON (*(volatile unsigned long *)0x56000070)#define ULCON0 (*(volatile unsigned long *)0x50000000)#define UCON0 (*(volatile...
分类:
其他好文 时间:
2016-03-11 17:05:03
阅读次数:
250
首先我们知道Java中的内存模型 即:线程工作内存——主内存 工作内存是线程私有的,主内存是线程共有的 变量的初始化,生成都在主内存,工作内存只有使用到该变量时才从主内存加载操作 共八中原子性操作,read,load,use,assign,store,wirte,lock,unlock Java虚拟
分类:
编程语言 时间:
2016-03-10 10:44:38
阅读次数:
174