c++ memory_order
从头开始循序渐进学习c++ memory_order
wxj1992
这个作者很懒,什么都没留下…
展开
-
C++ memory order循序渐进(一)—— 多核编程和memory model
目录1. 多核编程面临的问题2. lock free2.1 lock free的定义2.2 Lock free 相关技术3. Memory model3.1 reorder类型和Memory model的强弱3.2 Compiler Barrier和Runtime Memory Barrier3.3 run time memory barrier4. c++ 11 memory order前面看...原创 2019-12-21 22:43:30 · 5442 阅读 · 3 评论 -
C++ memory order循序渐进(二)—— C++ memory order基本定义和形式化描述所需术语关系详解
目录1.c++的六种memory_ordermemory_order_relaxedmemory_order_consumememory_order_acquirememory_order_releasememory_order_acq_relmemory_order_seq_cstSequenced-beforeCarries dependencyModification orderReleas...原创 2019-12-22 23:10:56 · 7546 阅读 · 13 评论 -
C++ memory order循序渐进(三)—— 原子变量上组合应用memory order实现不同的内存序
文章目录1.Relaxed ordering2.Release-Acquire ordering3.Release-Consume ordering4.Sequentially-consistent ordering5.总结前面介绍了c++里一共有六种memory order,要达到数据同步的效果,需要进行组合使用,我们可以在两个地方指定memory order,一是atomic变量(原子变量)...原创 2020-01-05 19:05:42 · 6459 阅读 · 38 评论 -
C++ memory order循序渐进(四)—— 在std::atomic_thread_fence 上应用std::memory_order实现不同的内存序
文章目录1. atomic_thread_fence分类和效果1.1 Release fence1.2 acquire fence1.3 full fence2. fence和同样memory order的原子操作同步效果的区别3. 利用atomic_thread_fence进行release acquire同步3.1 release Fence - atomic acquire 同步3.2 At...原创 2020-01-11 11:54:57 · 13327 阅读 · 7 评论 -
C++ memory order循序渐进(五)—— C++ memory order在编译器和cpu层面的具体实现
文章目录1.x86-642.ARMv8(AArch64部分)3.总结前面四篇文章主要介绍了c++ memory order的概念和使用,在实际的lock free编程中,知道这些基本就够了,定好了memory order剩下的事情编译器和cpu会给我们保证,但了解底层实现有助于加深理解,本篇文章就来介绍一下各种memory order在编译器和cpu层面的具体实现。前面说过,C++的memory...原创 2020-02-11 23:38:36 · 2930 阅读 · 11 评论