5.3.1 同步发生

“同步发生”关系是指:只能在原子类型之间进行的操作。例如对一个数据结构进行操作(对互斥量上锁),如果数据结构包含有原子类型,并且操作内部执行了一定的原子操作,那么这些操作就是同步发生关系。从根本上说,这种关系只能来源于对原子类型的操作。

“同步发生”的基本想法是:在变量x进行适当标记的原子写操作W,同步与对x进行适当标记的 原子读操作,读取的是W操作写入的内容;或是在W之后,同一线程上的原子写操作对x写入 的值;亦或是任意线程对x的一系列原子读-改-写操作(例如,fetch_add()或 compare_exchange_weak())。这里,第一个线程读取到的值是W操作写入的(详见5.3.4节)。

先将“适当的标记”放在一边,因为所有对原子类型的操作,默认都是适当标记的。这实际上就 是:如果线程A存储了一个值,并且线程B读取了这个值,线程A的存储操作与线程B的载入操作就是同步发生的关系,如同清单5.2所示的那样。

我确信你假设过,所有细微的差别都在“适当的标记”中。C++内存模型允许为原子类型提供各 种约束顺序,并且这个标记我们已经提过了。内存排序的各种选项和它们如何与同步发生的 关系,将会在5.3.3节中讨论。

让我们先退一步,再来看一下“先行发生”关系。

5.3.2 先行发生

5.3.1 同步发生相关推荐

  1. ajax如何进行逻辑判断,如何使Ajax的某些部分同步发生,而前端逻辑异步发生?...

    我有一个网站,我想通过几个环境查看登录凭证,但同时显示一个加载gif.如何使Ajax的某些部分同步发生,而前端逻辑异步发生? 麻烦的是,如果我做了ajax同步或 async: false, ,则页面的 ...

  2. R星服务器显示云备份失败,gta5同步云存档出错|【gta5云存档同步失败】gta5云端存档同步发生错误...

    [www.jmzhongda.cn--范文大全] 很多玩家都喜欢玩gta5ol,要是发生游戏连不上服务器的情况,该怎么办呢?下面是范文网在线www.01hn.com小编整理的gta5云端存档同步发生错 ...

  3. R星服务器显示云备份失败,【gta5云存档同步失败】gta5云端存档同步发生错误

    [www.chinawenwang.com--文秘资料] 很多玩家都喜欢玩gta5ol,要是发生游戏连不上服务器的情况,该怎么办呢?下面是范文网在线www.01hn.com小编整理的gta5云端存档同 ...

  4. gta5线上模式进不去云服务器,gta5ol线上连不上服务器|云端存档同步发生错误

    很多玩家都喜欢玩gta5ol,要是发生游戏连不上服务器的情况,该怎么办呢? 遇到这个情况不要着急,这不是你的网络出了问题,遇到这个情况,是可以登录social club,却不能进入游戏线上,因为这个是 ...

  5. gta5服务器账号密码错误,gta5ol线上连不上服务器|云端存档同步发生错误 看完就知道了...

    很多玩家都喜欢玩gta5ol,要是发生游戏连不上服务器的情况,该怎么办呢? 操作方法 01 遇到这个情况不要着急,这不是你的网络出了问题,遇到这个情况,是可以登录social club,却不能进入游戏 ...

  6. 时间立即同步命令_Redis复制:主从同步

    一.概述 在高并发服务当中,如果使用单个Redis实例,由于Redis采用单进程单线程处理所有请求的方式,即每次只有一个请求在处理,后面的请求排队,如果前面请求执行时间长了,则会影响后面所有请求.所以 ...

  7. 用Java线程获取优异性能(II)——使用同步连载线程访问关键代码部份

    摘要 开发者有时创建的多线程程序会生成错误值或产生其它奇怪的行为.古怪行为一般出现在一个多线程程序没使用同步连载线程访问关键代码部份的时候.同步连载线程访问关键代码部份是什么意思呢?在这篇文章中解释了 ...

  8. Sersync实现触发式文件同步

    序 言:如果我们后端有多台网站服务器或者文件服务器,而且没有好的文件同步机制,那么当我们升级程序或者更新文件的时候,就需要每台服务器或者目录都要更 新,这样很容易出问题,并很容易导致两边的文件不一致, ...

  9. 聊聊网络游戏同步那点事

    0x00 前言 16年年底的时候我从当时的公司离职,来到了目前任职的一家更专注于游戏开发的公司.接手的是一个platform游戏项目,基本情况是之前的团队完成了第一个版本,即单人模式的基础玩法,但是之 ...

最新文章

  1. 【Java】阶乘 素数 循环
  2. Science:睡眠剥夺影响大脑思考竟是因为蛋白质罢工了!
  3. 外包 银行数字签名U盘的用法
  4. u-boot分析——struct gd_t与struct bd_t
  5. ★自制社交网站等级称号
  6. dropMenu----简单的下拉菜单生成器
  7. IOS不支持2017-09-09的日期格式
  8. 服务器上读取文件,服务器上读取文件
  9. (转)是时候说说Pivotal这个富二代了!
  10. oa怎么修改服务器地址,致远oa如何设置服务器地址
  11. 王阳明:越是多变时,越要学会进化(附个体进化的底层心力逻辑)
  12. NLP 分类问题的讨论
  13. 初来扎到啊(觉得有些神圣尼)
  14. 淘淘商城---8.10
  15. 【HTML学习笔记】link标签中的href路径
  16. 空间路面matlab,基于Matlab的三维随机路面联合建模与仿真研究
  17. 九州云智慧园区方案,助力湖州织西商业综合体智慧管理
  18. 看恐怖片可能会让你变胖:吃掉更多的爆米花和巧克力
  19. OpenCV Tensorflow C++API Protobuf eigen3 OpenBlas 编译过程
  20. TFN CK1840B 喇叭天线 定向 18GHz~40GHz

热门文章

  1. *与**在python中的使用
  2. java 静态初始化数据_Java 静态数据初始化的示例代码
  3. Halcon 找圆测量工具
  4. Java 进阶基础知识
  5. Java线程池—ThreadPoolExecutor
  6. 【Python之旅】第四篇(四):基于面向对象的模拟人生游戏类
  7. linux oracle 10g dataguard 实施详细记录
  8. 【汇编语言与计算机系统结构笔记08】如何实现循环(Loops),gcc历史上经历了多种转换模式(微体系结构角度解释),Switch语句,跳转表
  9. 31. Next Permutation (java 字典序生成下一个排列)
  10. 安装详细步骤win7_windows安装器怎么安装原版win7【详细教程】