so true

          心懷未來,開創(chuàng)未來!
          隨筆 - 160, 文章 - 0, 評論 - 40, 引用 - 0
          數據加載中……

          c++原子操作

          1. __sync_bool_compare_and_swap系列是gcc最早內置的;
          2. __atomic_compare_exchange_n系列是新版gcc內置的,支持6種memory order;
          3. std::atomic之類的是stl的封裝;
          4. 6種mem order,https://www.zhihu.com/question/24301047里講得不錯,概括下:
          memory_order_seq_cst最嚴,memory_order_relaxed最松,通常是用acquire(load時)/release(store時)模式,在該大模式下:
          a. 通常是讀用memory_order_acquire,寫用memory_order_release;
          b. 如果只是針對單個變量且該變量沒有依賴的變量,acquire可以弱化為consume;
          c. 如果不想區(qū)分什么單變量多變量或讀寫狀態(tài),簡單點統一用memory_order_acq_rel。

          posted on 2020-06-28 17:19 so true 閱讀(222) 評論(0)  編輯  收藏 所屬分類: C&C++

          主站蜘蛛池模板: 屯昌县| 屏边| 南部县| 合作市| 永州市| 义乌市| 丁青县| 建德市| 安阳市| 博罗县| 泽库县| 辽阳市| 额尔古纳市| 辽宁省| 宁海县| 长春市| 邯郸县| 赣州市| 长岭县| 浑源县| 黄平县| 西昌市| 湖北省| 龙江县| 读书| 淮滨县| 平湖市| 贵州省| 白山市| 屯昌县| 印江| 吉首市| 石柱| 长宁区| 福泉市| 拜城县| 黔东| 育儿| 伊宁县| 伊宁市| 武山县|