第5章 C++内存模型和原子类型操作

第5章 C++内存模型和原子类型操作

 

本章主要内容

※ C++11内存模型详解

※ 标准库提供的原子类型 使用各种原子类型

※ 原子操作实现线程同步功能

 

C++11标准中,有一个十分重要特性,常被程序员们所忽略。它不是一个新的语法特性,也不 是新的工具,它就是新的多线程(感知)内存模型。内存模型没有明确的定义基本部件应该如何 工作的话,之前介绍的那些工具就无法正常工作。那为什么大多数程序员都没有注意到它 呢?当你使用互斥量保护你的数据和条件变量,或者是“期望”上的信号事件时,对于互斥量为 什么能起到这样作用,大多数人不会去关心。只有当你试图去“接触硬件”,你才能详尽的了解 到内存模型是如何起作用的。

 

C++是一个系统级别的编程语言,标准委员会的目标之一就是不需要比C++还要底层的高级语 言。C++应该向程序员提供足够的灵活性,无障碍的去做他们想要做的事情;当需要的时候, 可以让他们“接触硬件”。原子类型和原子操作就允许他们“接触硬件”,并提供底层级别的同步 操作,通常会将常规指令数缩减到1~2个CPU指令。

 

在本章,我们将讨论内存模型的基本知识,而后再了解一下原子类型和操作,最后了解与原 子类型操作相关的各种同步。这个过程可能会比较复杂:如果你已经打算使用原子操作(比 如,第7章的无锁数据结构)同步你的代码,那么你就没有必要了解过多的细节。

 

现在让我们轻松愉快的来看一下有关内存模型的基本知识。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值