C++并发编程实战(第2版)

C++并发编程实战(第2版)

作者:[英] 安东尼·威廉姆斯(Anthony Williams)

出版社:人民邮电

出版年:2022年11月

ISBN:9787115573551

所属分类:网络科技

书刊介绍

《C++并发编程实战(第2版)》内容简介

这是一本介绍C++并发和多线程编程的深度指南。本书从C++标准程序库的各种工具讲起,介绍线程管控、在线程间共享数据、并发操作的同步、C++内存模型和原子操作等内容。同时,本书还介绍基于锁的并发数据结构、无锁数据结构、并发代码,以及高级线程管理、并行算法函数、多线程应用的测试和除错。本书还通过附录及线上资源提供丰富的补充资料,以帮助读者更完整、细致地掌握C++并发编程的知识脉络。
本书适合需要深入了解C++多线程开发的读者,以及使用C++进行各类软件开发的开发人员、测试人员,还可以作为C++线程库的参考工具书。
安东尼·威廉姆斯(Anthony Williams),C++开发者、顾问、培训师,英国标准协会C++标准组成员,拥有超过20年的C++开发经验,独立编写或合著了众多C++标准委员会文件,为C++11标准引入了线程库,实现了工具“just::thread Pro”(Just Software Solutions公司的产品),并持续致力于开发C++的新特性,以增强C++并发工具集的功能,这两者都遵循C++标准和提案。

作品目录

版权声明
内容提要
作者简介
本书第1版赢得的赞誉
作者序
作者致谢
译者序
译者致谢
关于本书
本书的组织结构
目标读者
如何阅读本书
代码约定
软件要求
资源与支持
配套资源
提交勘误
与我们联系
关于异步社区和异步图书
第1章:你好,C++并发世界
1.1、什么是并发
1.2、为什么使用并发技术
1.3、并发与C++多线程
1.4、启程上路
1.5、小结
第2章:线程管控
2.1、线程的基本管控
2.2、向线程函数传递参数
2.3、移交线程归属权
2.4、在运行时选择线程数量
2.5、识别线程
2.6、小结
第3章:在线程间共享数据
3.1、线程间共享数据的问题
3.2、用互斥保护共享数据
3.3、保护共享数据的其他工具
3.4、小结
第4章:并发操作的同步
4.1、等待事件或等待其他条件
4.2、使用future等待一次性事件发生
4.3、限时等待
4.4、运用同步操作简化代码
4.5、小结
第5章:C++内存模型和原子操作
5.1、内存模型基础
5.2、C++中的原子操作及其类别
5.3、同步操作和强制次序
5.4、小结
第6章:设计基于锁的并发数据结构
6.1、并发设计的内涵
6.2、基于锁的并发数据结构
6.3、设计更复杂的基于锁的并发数据结构
6.4、小结
第7章:设计无锁数据结构
7.1、定义和推论
7.2、无锁数据结构范例
7.3、实现无锁数据结构的原则
7.4、小结
第8章:设计并发代码
8.1、在线程间切分任务的方法
8.2、影响并发代码性能的因素
8.3、设计数据结构以提升多线程程序的性能
8.4、设计并发代码时要额外考虑的因素
8.5、并发代码的设计实践
8.6、小结
第9章:高级线程管理
9.1、线程池
9.2、中断线程
9.3、小结
第10章:并行算法函数
10.1、并行化的标准库算法函数
10.2、执行策略
10.3、C++标准库的并行算法函数
10.4、小结
第11章:多线程应用的测试和除错
11.1、与并发相关的错误类型
11.2、定位并发相关的错误的技法
11.3、小结
附录A
C++11精要:部分语言特性
A.1、右值引用
A.2、删除函数
A.3、默认函数
A.4、常量表达式函数
A.5、lambda函数
A.6、变参模板
A.7、自动推导变量的型别
A.8、线程局部变量
A.9、类模板的参数推导
A.10、小结
附录B
各并发程序库的简要对比
附录C
消息传递程序库和完整的自动柜员机范例
附录D
C++11线程库参考名录
D.1、头文件
D.2、头文件
D.3、头文件
D.4、头文件
D.5、头文件
D.6、头文件
D.7、头文件

相关推荐

微信二维码