C++ 并发编程指南(收藏笔记)
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. 核心语言的运行时性能强化
本小节主要包括:
- 右值引用和 move 语义
- 泛化的常量表达式 constexpr
- 对 POD 类型定义的修正。
2. 核心语言的构建时性能强化
本小节主要包括:
- 外部模板。
3. 核心语言的可用性强化
本小节主要包括:
- 初始化列表(
std::initializer_list
) - 统一的初始化方式
- 类型推导(auto 和 decltype 关键字)
- 基于范围的 for 循环
- lambda 表达式
- 另一种可选的函数语法
- 对象创建优化
- 显式虚函数重载
- 空指针常量(nullptr)
- 强类型枚举
- 右尖括号(>)
- 显式类型转换操作符
- 模板别名
- 无限制 union。
4. 核心语言的功能提升
本小节主要包括:
- 变长参数模板
- 新的字符串字面值
- 用户自定义的字面值
- 多线程内存模型
- 线程本地存储
- 显式地使用或禁用某些特殊成员函数(构造函数,拷贝构造,赋值操作符,析构等)
- long long int类型
- 静态断言 assertions
- 允许 sizeof 运算符作用在类型的数据成员上,无须明确的对象
- 垃圾回收机制
- 属性
5. C++ 标准库的变更
本小节主要包括:
- 标准库组件上的升级
- 多线程支持
- 元组(tuple)类型
- 散列表(hash table)
- 正则表达式
- 通用智能指针
- 可扩展的随机数功能
- 包装引用
- 多态函数对象包装器
- 用于元编程的类型属性
- 用于计算函数对象返回类型的统一方法
C++ 并发编程指南(收藏笔记)的更多相关文章
- 《Java虚拟机并发编程》学习笔记
对<Java虚拟机并发编程>这本书真的是相见恨晚.以前对并发编程只是懂个皮毛,这本书让我对并发编程有了一个全新的认识.所以把书上的知识点做下笔记,以便以后复习使用. 并发与并行 仔细说来, ...
- Java工程师学习指南第4部分:Java并发编程指南
本文整理了微信公众号[Java技术江湖]发表和转载过的Java并发编程相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧吧. [纯干货]Java 并发进阶常见面试题总结 [Java基本功] ...
- iOS 并发编程指南
iOS Concurrency Programming Guide iOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易.Mac OS 和 iOS ...
- 《java并发编程实战》笔记
<java并发编程实战>这本书配合并发编程网中的并发系列文章一起看,效果会好很多. 并发系列的文章链接为: Java并发性和多线程介绍目录 建议: <java并发编程实战>第 ...
- Java并发编程指南
多线程是实现并发机制的一种有效手段.在 Java 中实现多线程有两种手段,一种是继承 Thread 类,另一种就是实现 Runnable/Callable 接口. java.util.concurre ...
- Java并发编程实战 读书笔记(二)
关于发布和逸出 并发编程实践中,this引用逃逸("this"escape)是指对象还没有构造完成,它的this引用就被发布出去了.这是危及到线程安全的,因为其他线程有可能通过这个 ...
- java 多线程——并发编程模型 学习笔记
并发编程模型 ...
- GitHub标星120K+的JDK并发编程指南,连续霸榜GitHub终于开源了
前言 在编程行业中,有一个东西是和广大程序员形影不离的,在最一开始接触编程就是配置它的运行环境,然后java / javac,对,这个东西就是jdk 昨天项目刚上线,可以稍微休息一下了,但是猛的闲下来 ...
- C#并发编程经典实例--笔记
一.简介 --并发 同时做多件事情 --多线程 并发的一种形式,它采用多个线程来执行程序. **如非必要,代码里不要出现 "new ...
随机推荐
- 如何在 PHP 和 Laravel 中使用 Traits
事实上,PHP 作为一门编程语言存在的问题之一,就是你只能使用单继承.这意味着一个类只能从另一个类中继承.例如,可能希望从几个不同的类继承方法,以防止代码重复.在 PHP 5.4 中 一个新的语言特性 ...
- 【笔记】vue和ssm开发接口联调跨域问题
爬了两个小时的大坑 前端在github上拉了个vue项目,由于从来没正式学过vue,跨域这个问题一直困扰了很久. 目前暂时能用的解决方案(开发环境)就是: 前端在vue.config.js中加入代理. ...
- Secure CRT注册码
secure CRT 把记忆的东西放在这就行了,:) SecureCRT 5.2.2的注册码 Name: Apollo InteractiveCompany: Apollo ...
- nyoj 54-小明的存钱计划 (遍历 + 判断)
54-小明的存钱计划 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:5 submit:11 题目描述: 小明的零花钱一直都是自己管理.每个月的月初妈 ...
- mysql 索引笔记
MyISAM引擎的B+Tree的索引 通过上图可以直接的看出, 在MyISAM对B+树的运用中明显的特点如下: 所有的非叶子节点中存储的全部是索引信息 在叶子节点中存储的 value值其实是 数据库中 ...
- SpringBoot 源码解析 (七)----- Spring Boot的核心能力 - 自定义Servlet、Filter、Listener是如何注册到Tomcat容器中的?(SpringBoot实现SpringMvc的原理)
上一篇我们讲了SpringBoot中Tomcat的启动过程,本篇我们接着讲在SpringBoot中如何向Tomcat中添加Servlet.Filter.Listener 自定义Servlet.Filt ...
- 阿里云ECS搭建kubernetes1.11
环境信息 说明 1.使用kubeadm安装集群 虚拟机信息 hostname memory cpu disk role node1.com 4G 2C vda20G vdb20G master nod ...
- Java Web登录界面
非常激动的开通了我的第一个博客,在这里希望大家能多多指点,相互学习. 一个简单的登录界面 首先我们先把这个登录分为三块: 一.数据库 数据库我用的是MYSQL: 二.前端 三.后台 1. 后台代码的 ...
- Spring Cloud Alibaba基础教程:Nacos服务发现与配置管理
随着微服务概念的流行,越来越多的公司采用`Spring Cloud`全家桶构建微服务系统,实现业务的快速迭代.`Spring Cloud`提供了快速构建分布式微服务常用组件,包括`Spring Clo ...
- C# VS2019 WebService创建与发布,并部署到Windows Server 2012R
前言 上一次数据库灾备和性能优化后,数据库专家建议,在不扩容的情况下,客户端不能再频繁的扫描数据库了!一句惊醒梦中人,因为我也发现数据库越来越卡了,自从上个项目上线后,就出现了这个情况.后来分析其原因 ...