天天看点

volatile与内存屏障

这两天,项目遇到了些问题,老工程师分析是cpu乱序执行造成的,因此要加内存屏障;

但是我写驱动,都没有加内存屏障,如果reset的code被乱序了,岂不是硬件要挂掉了?

后来查询, volatile也起到内存屏障的作用,但不要在多线程中使用 volatile来实现互斥等,会有问题,具体看文章:

http://www.cnblogs.com/liaokang/p/5614748.html

继续阅读