第一章 你好,并发世界
1998年发布的C++首个版本 C++98
2011年发布C++重大修改版本 C++11 (2011年后,每3年发布一个新标准)
2014年发布的C++版本 C++14
2017年发布的C++版本 C++17
1.1何为并发
1.1.1计算机的并发
但在实际计算机上,需要并行的任务会远远超过核心数量,实际在多核系统中,多任务执行情况如下图:
1.1.2并发的方式
1.多进程并发
2.多线程并发
单进程中运行多个线程。每个线程相互独立,线程共享地址空间,全局变量仍然是全局的,指针、对象的引用或数据可以在线程之间传递。虽然,进程之间通常共享内存,但同一数据的内存地址在不同的进程中不相同,所以这种共享难以建立和管理。
优点是地址共享,访问速度快,缺点是为确保所有线程访问同一数据的一致性,需要做大量管理工作。
3.并发与并行
“并行”:更加关注性能。通畅使用硬件提高数据处理速度时,会讨论程序的并行性。
“并发”:更加关注任务分离和响应,会讨论程序的并发性。
1.2 为什么使用并发
1.2.1 分离关注点
1.2.2 性能
1.2.3 什么时候不适用并发