zoukankan      html  css  js  c++  java
  • c++ automic

    atomic 原子类型是对特定类型(T)对象的一种封装,可以防止数据竞争,同步多线程间的内存访问。

    原子对象能够通过指定不同的内存顺序来同步对线程中其他非原子对象的访问。

    相关函数:

                  atomic() noexcept = default;    // 默认构造函数,构造一个未初始化的对象

                  constexpr atomic(T val) noexcept;    // 初始化构造函数,构造一个用val初始化的原子对象

                  atomic(const atomic&) = delete;    // 禁用拷贝构造函数

                  atomic& operator = (const atomic&) = delete;    // 禁用赋值操作函数

                  T operator = (T val) noexcept;   // 使用指定值进行赋值

                  is_lock_free()    // 判断原子对象是否lock-free状态

                  store(T val)    //用设定值替换当前值,该操作是原子性的

                  load(memory_order sync = memory_order_seq_cst)    //返回当前值,该操作是原子性的

                  operator T()    // 返回当前值,这是一个类型转换符,取出原子对象中类型为T的值

                  exchange(T val)   // 用设定值替换当前值,并返回当前值

                  compare_exchange_weak(T& expected, T val, memory_order sync = memory_order_seq_cst)

                  compare_exchange_strong(T& expected, T val, memory_order sync = memory_order_seq_cst)

                 // 当前值与期望值相等时,修改当前值为设定值,返回true; 当前值与期望值不等时,不进行修改,返回false

                 // weak与strong的差别在于weak可能在满足当前值与期望值相等的情况下仍然返回false

  • 相关阅读:
    paip.重装系统需要备份的资料总结..
    poj3078
    poj3009
    poj2151
    poj3274
    poj3436
    VC++:打开、保存文件对话框和浏览文件夹对话框
    目前所有的视频格式都有哪些?
    CMSHFlexGrid 类用法
    Matlab的ActiveX接口_百度文库
  • 原文地址:https://www.cnblogs.com/tongyishu/p/13189069.html
Copyright © 2011-2022 走看看