求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
C++并发编程(中文版)
前言
第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 使用期望等待一次性事件
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 本章总结
第11章 C++11语言特性简明参考(部分)
11.1 右值引用
11.2 删除函数
11.3 默认函数
11.4 常量表达式函数
11.5 Lambda函数
11.6 变参模板
11.7 自动推导变量类型
11.8 线程本地变量
 



 
目录
C++并发编程(中文版)
作者:Anthony Williams  译者:陈晓伟

本书概述

作为对《C++ Concurrency in Action》的中文翻译。

本书是基于C++11新标准的并发和多线程编程深度指南。

从std::thread、std::mutex、std::future和std::async等基础类的使用,到内存模型和原子操作、基于锁和无锁数据结构的构建,
再扩展到并行算法、线程管理,最后还介绍了多线程代码的测试工作。

本书的附录部分还对C++11新语言特性中与多线程相关的项目进行了简要的介绍,并提供了C++11线程库的完整参考。

本书适合于需要深入了解C++多线程开发的读者,以及使用C++进行各类软件开发的开发人员、测试人员。

对于使用第三方线程库的读者,也可以从本书后面的章节中了解到相关的指引和技巧。

同时,本书还可以作为C++11线程库的参考工具书。

书与作者

Anthony Williams是BSI C++小组的成员,拥有10多年C++应用经验。

如今多核芯处理器使用的越来越普遍。C++11标准支持多线程,这就需要程序员掌握多线程编程的原则、技术和新语言中的并发特性,确保自己处于时代前沿。

无论你的C++技术如何,本书都会指引你使用C++11写出健壮和优雅的多线程应用。本书将会探讨线程的内存模型,
新的多线程库,启动线程和同步工具。在这个过程中,我们会了解并发程序中较为棘手的一些问题。

内容的大体结构:

  • C++11编程

  • 多核芯编程

  • 简单例子用于学习,复杂例子用于实践

本书是为C++程序员所写,同僚中可能有人对并发还没什么了解,估计也有人已经使用其他语言、API或平台写过多线程程序。
不过,在看本书的时候,你们都在同一“起跑线”上。

目录

前言

第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.3 本章总结

第4章 同步并发操作

4.1 等待一个事件或其他条件

4.2 使用期望等待一次性事件

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 本章总结

第11章 C++11语言特性简明参考(部分)

11.1 右值引用

11.2 删除函数

11.3 默认函数

11.4 常量表达式函数

11.5 Lambda函数

11.6 变参模板

11.7 自动推导变量类型

11.8 线程本地变量


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



365 次浏览
5次
欢迎参加课程:
数据建模方法与工具
MBSE(基于模型的系统工程)
基于 UML 和EA进行分析设计