第1章 你好,C++的并发世界!
本章主要内容
- 何谓并发和多线程
- 应用程序为什么要使用并发和多线程
- C++的并发史
- 一个简单的C++多线程程序
1.1 何谓并发
最简单和最基本的并发,是指两个或更多独立的活动同时发生。
1.1.1 计算机系统中的并发
目录
1.2.1 为了分离关注点1.2.2 为了性能1.2.3 什么时候不使用并发
并发的两种方式:双核机器的真正并行 Vs. 单核机器的任务切换
1.1.2 并发的途径
- 多进程并发
- 多线程并发
1.2 为什么使用并发?
- 关注点分离(SOC)
- 性能
1.2.1 为了分离关注点
1.2.2 为了性能
1.2.3 什么时候不使用并发
知道何时不使用并发与知道何时使用它一样重要。基本上,不使用并发的唯一原因就是,收益比不上成本。使用并发的代码在很多情况下难以理解,因此编写和维护的多线程代码就会产生直接的脑力成本,同时额外的复杂性也可能引起更多的错误。除非潜在的性能增益足够大或关注点分离地足够清晰,能抵消所需的额外的开发时间以及与维护多线程代码相关的额外成本(代码正确的前提下);否则,别用并发。