zoukankan      html  css  js  c++  java
  • 优化屏障与内存屏障 (barrier,rmb)


    优化屏障(Optimization barrier)避免编译器的重排序优化操作,保证编译程序时在优化屏障之前的指令不会在优化屏障之后执行。

    Linux用宏barrier实现优化屏障,gcc编译器的优化屏障宏定义列出如下(在include/linux/compiler-gcc.h中): 
    #define barrier() __asm__ __volatile__("": : :"memory")


    内存屏障

    读写屏障像一堵墙,所有在设置读写屏障之前发起的内存访问,必须先于在设置屏障之后发起的内存访问之前完成,确保内存访问按程序的顺序完成。


    内存屏障的宏定义功能说明

    mb()适用于多处理器和单处理器的内存屏障。

    rmb()适用于多处理器和单处理器的读内存屏障。

    wmb()适用于多处理器和单处理器的写内存屏障。

    smp_mb()适用于多处理器的内存屏障。

    smp_rmb()适用于多处理器的读内存屏障。

    smp_wmb()适用于多处理器的写内存屏障。


    http://www.codelast.com/?p=1184

    http://blog.chinaunix.net/uid-25845340-id-3011577.html



  • 相关阅读:
    武功秘籍 蓝桥杯
    切面条 蓝桥杯
    啤酒和饮料 蓝桥杯
    蚂蚁感冒 蓝桥杯
    hdu N!
    hdu 神、上帝以及老天爷
    ListView滑动删除 ,仿腾讯QQ
    C++ 习题 输出日期时间--友元函数
    C++习题 商品销售
    渠道运营一点事
  • 原文地址:https://www.cnblogs.com/mull/p/4477811.html
Copyright © 2011-2022 走看看