- 博客(1)
- 收藏
- 关注
转载 C++11新特性内存模型总结详解--一篇秒懂
如下建立两个原子变量,线程1中执行赋值操作A,B,线程2中执行读取操作C,D。因为Relaxed ordering只保证操作A,B,C,D是原子操作,A,B之间没有依赖关系,C,D之间也没有依赖关系,所以线程1中执行顺序可以是A,B,也可以是B,A,线程2中执行顺序可以是C,D,也可以是D,C,线程1和线程2之间也没有任何同步关系,所以线程1和线程2同时执行时,A,B,C,D可以是任意顺序,如果D在A之前执行,例如执行顺序是B,D,C,A,则D指令断言会出现失败,因为A操作还没有写入f为true。
2024-03-31 21:20:21
101
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人