git地址:

https://github.com/forhappy/Cplusplus-Concurrency-In-Practice

https://github.com/forhappy/Cplusplus-Concurrency-In-Practice/blob/master/Table-of-contents.md

http://www.cnblogs.com/haippy/category/505027.html

本书计划分为 11 章, 分别如下安排:

第一章 并发编程基础

1.1 什么是并发编程

1.2 并发与并行的区别和联系

1.3 为什么需要并发编程

1.4 并发编程应用场景和经典示例

1.5 C++ 并发编程初探

1.6 资料汇

第二章 几种常见的多线程库介绍

2.1 Pthread 多线程编程指南

2.2 Windows 多线程编程指南

2.3 几种常见的多线程库接口对比

2.4 资料汇

第三章 线程详解

3.1 <thread> 头文件摘要

3.2 std::thread 详解

3.3 std::this_thread 命名空间中相关辅助函数介绍

3.4 std::thread 与 Pthread 线程对比

3.5 资料汇

##第四章 互斥量与锁 ##

4.1 <mutex> 头文件摘要

4.2 互斥量详解

4.3 锁类型详解

4.4 辅助函数介绍

4.5 std::mutex 与 Pthread 互斥量对比

4.6 资料汇

##第五章 条件变量与线程同步 ##

5.1 <condition_variable> 头文件摘要

5.2 条件变量详解

5.3 辅助函数介绍

5.4 利用条件变量(std::condition_variable)进行线程同步

5.5 std::condition_variable 与 Pthread 条件变量对比

5.6 资料汇

##第六章 异步任务详解 ##

6.1 <future> 头文件摘要

6.2 异步任务提供者(Provider) 介绍

6.3 异步任务提供者(Provider) 介绍(续)

6.4 异步任务 Future 类型详解

6.5 与异步任务相关的类型介绍

6.6 异步任务辅助函数 std::async 介绍

6.7 异步任务与多线程实例

6.8 资料汇

##第七章 原子类型详解 ##

7.1 <atomic> 头文件摘要

7.2 std::atomic_flag 详解

7.3 基本 std::atomic 类型详解

7.4 特化的 std::atomic 类型详解

7.5 C 风格的原子操作

7.6 C++11 内存模型初探

7.7 如何利用原子类型设计并发数据结构

7.8 资料汇

##第八章 C++11 内存模型 ##

8.1 C++ 内存模型概述

8.2 X86 CPU 处理器架构与常见的存储一致性模型简介

8.3 内存序(Memory Order)与同步操作

8.4 原子类型编程实例

8.5 Lock-free 编程初探

资料汇

##第九章 高级线程管理 ##

##第十章 如何编写正确的并发数据结构 ##

##第十一章 并发编程应用实例 ##

11.1 利用 C++11 并发设施解决生产者消费者问题

##附录 C++11 新标准概览 ##

1. 核心语言的运行时性能强化

本小节主要包括:

  1. 右值引用和 move 语义
  2. 泛化的常量表达式 constexpr
  3. 对 POD 类型定义的修正。

2. 核心语言的构建时性能强化

本小节主要包括:

  1. 外部模板。

3. 核心语言的可用性强化

本小节主要包括:

  1. 初始化列表(std::initializer_list)
  2. 统一的初始化方式
  3. 类型推导(auto 和 decltype 关键字)
  4. 基于范围的 for 循环
  5. lambda 表达式
  6. 另一种可选的函数语法
  7. 对象创建优化
  8. 显式虚函数重载
  9. 空指针常量(nullptr)
  10. 强类型枚举
  11. 右尖括号(>)
  12. 显式类型转换操作符
  13. 模板别名
  14. 无限制 union。

4. 核心语言的功能提升

本小节主要包括:

  1. 变长参数模板
  2. 新的字符串字面值
  3. 用户自定义的字面值
  4. 多线程内存模型
  5. 线程本地存储
  6. 显式地使用或禁用某些特殊成员函数(构造函数,拷贝构造,赋值操作符,析构等)
  7. long long int类型
  8. 静态断言 assertions
  9. 允许 sizeof 运算符作用在类型的数据成员上,无须明确的对象
  10. 垃圾回收机制
  11. 属性

5. C++ 标准库的变更

本小节主要包括:

  1. 标准库组件上的升级
  2. 多线程支持
  3. 元组(tuple)类型
  4. 散列表(hash table)
  5. 正则表达式
  6. 通用智能指针
  7. 可扩展的随机数功能
  8. 包装引用
  9. 多态函数对象包装器
  10. 用于元编程的类型属性
  11. 用于计算函数对象返回类型的统一方法

C++ 并发编程指南(收藏笔记)的更多相关文章

  1. 《Java虚拟机并发编程》学习笔记

    对<Java虚拟机并发编程>这本书真的是相见恨晚.以前对并发编程只是懂个皮毛,这本书让我对并发编程有了一个全新的认识.所以把书上的知识点做下笔记,以便以后复习使用. 并发与并行 仔细说来, ...

  2. Java工程师学习指南第4部分:Java并发编程指南

    本文整理了微信公众号[Java技术江湖]发表和转载过的Java并发编程相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧吧. [纯干货]Java 并发进阶常见面试题总结 [Java基本功] ...

  3. iOS 并发编程指南

    iOS Concurrency Programming Guide iOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易.Mac OS 和 iOS ...

  4. 《java并发编程实战》笔记

    <java并发编程实战>这本书配合并发编程网中的并发系列文章一起看,效果会好很多. 并发系列的文章链接为:  Java并发性和多线程介绍目录 建议: <java并发编程实战>第 ...

  5. Java并发编程指南

    多线程是实现并发机制的一种有效手段.在 Java 中实现多线程有两种手段,一种是继承 Thread 类,另一种就是实现 Runnable/Callable 接口. java.util.concurre ...

  6. Java并发编程实战 读书笔记(二)

    关于发布和逸出 并发编程实践中,this引用逃逸("this"escape)是指对象还没有构造完成,它的this引用就被发布出去了.这是危及到线程安全的,因为其他线程有可能通过这个 ...

  7. java 多线程——并发编程模型 学习笔记

                                                                                                 并发编程模型 ...

  8. GitHub标星120K+的JDK并发编程指南,连续霸榜GitHub终于开源了

    前言 在编程行业中,有一个东西是和广大程序员形影不离的,在最一开始接触编程就是配置它的运行环境,然后java / javac,对,这个东西就是jdk 昨天项目刚上线,可以稍微休息一下了,但是猛的闲下来 ...

  9. C#并发编程经典实例--笔记

    一.简介   --并发         同时做多件事情 --多线程         并发的一种形式,它采用多个线程来执行程序.             **如非必要,代码里不要出现 "new ...

随机推荐

  1. 创建基于OData的Web API - Knowledge Builder API, Part III:Write Model

    在前两篇文章<Part I: Business Scenario> 和<Part II: Project Setup>后,可以开始真正Model的创建. 步骤如下: 1. 创建 ...

  2. (二十九)golang--map

    map:是key-value数据结构,又称为字段或者关联数组,类似其它编程语言的集合: 基本语法:var 名称 map[键类型]值类型 key的类型可以是:bool.数字.string.指针.管道,还 ...

  3. 什么是TCP, UDP, HTTP, HTTPS协议?

    TCP 传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC793定义. TCP主要特点: 1. 面向连接: (1)应用程序在使用TCP协议之前,必须先建立TCP连接. ...

  4. 初识JVM内存模型

    计算机内存模型 在程序运行时,CPU通过访问主存获取数据,但随着CPU的快速发展,CPU访问速度越来越高,硬件无法满足CPU的条件下,大多内存加入了高速缓存机制,不同CPU都有对应的多级(一般为三)缓 ...

  5. Redis是什么?看这一篇就够了

    本文由葡萄城技术团队编撰并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 引言 在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原 ...

  6. 【Linux系列】Centos 7安装 Redis(六)

    目的 本文主要介绍以下两点: 一. 安装Redis 二. 设置开机启动项 演示 一. 安装Redis 打开Redis官网,右击复制链接. yum install -y gcc # 先更新下编译环境 c ...

  7. Vue.js大屏数字滚动翻转效果

    ================================ 大屏数字滚动翻转效果来源于最近工作中element后台管理页面一张大屏的UI图,该UI图上有一个模块需要有数字往上翻动的效果,以下是最 ...

  8. java的回调和C#的委托

    曾经有人对我说java的回调很巧妙. 今天我自己看了一下,回调的关键就是一个接口的事情. 也许是因为用了一定的手法,一开始不好懂吧,所以看懂了会感觉巧妙. 但是我心里的想法却是,真啰嗦! 回调的实例 ...

  9. https揭秘

    首先简要说明一下所谓的https证书是什么东西:打个比方,你第一次去银行办理业务的时候都需要手持本人身份中去办理业务,这个身份证从哪里来呢,没错,是从国家相关机关得来的,在中国内是通用的,类比到htt ...

  10. 跨平台c开发库tbox:内存库使用详解

    TBOX是一个用c语言实现的跨平台开发库. 针对各个平台,封装了统一的接口,简化了各类开发过程中常用操作,使你在开发过程中,更加关注实际应用的开发,而不是把时间浪费在琐碎的接口兼容性上面,并且充分利用 ...