多线程——内存访问顺序 (序)

一直很好奇atomic是怎么实现的,最近查了一些资料,想开始记录一些东西。

首先开始的就是看源码了,找到的源码中有各种宏定义,看起来有些费力,不过看懂了一些之后,后面的宏就顺眼多了,不多说。

接下来,就找到了一些memory order的问题,之前没深究,总以为这可能是字节序吧,从字面上来看很相近,但是往深了看之后,发现,这不是字节序(byte order, endian)。这里的memory order用内存访问顺序来翻译,或许更贴切一些。

内存访问顺序,也就是内存一致模型(Memory consistency model),在每个内存共享系统中,都需要考虑该模型带来的影响,比如说多线程、网络、总线等。在一个多处理器系统中,由于内存是共享的,如果程序员所期望的内存操作行为与系统实际的内存操作行为不一致时,就需要内存一致模型来弥补这种不一致。通俗一点来讲,对共用的数据,如果会有多个不同的访问者或修改者时,要确保信息数据流的正确性时,都需要用到该模型。以下会慢慢列出各个不同的模型:

  1. 顺序一致模型(sequential consistency)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值