C++ 并发编程实战: 第1章 C++并发入门

532 阅读1分钟

第1章 C++并发入门

1. 并发

并发方式

  • 多进程: 资源分配基本单位
  • 多线程: 调度基本单位
  • 协程: 轻量级线程

进程独立内存空间和资源, 线程共享进程内容空间和资源

2. 并发优缺点

功能分离

例: 游戏程序中, 一个线程只负责界面管理, 一个线程只负责 gameplay

性能提升

  • 算法并行: 多个过程并行执行
  • 数据并行: 多个数据并行处理

并发缺点

  • 开发维护难
  • 消耗资源 内存, IO, CPU, 线程切换开销

3. C++ 与并发

  • 内存模型
  • 线程管理
  • 线程同步
  • 原子操作
  • 并行算法函数

4. hello world

#include <thread>
​
std::thread t(fun); // 启动并管理线程, 线程执行 `fun` 函数
t.join();   // t.join() 等待线程执行完