Logo
Section 1 / 11

并发入门

学习并发与并行之间的基本区别,理解进程与线程的区别,并掌握在共享内存环境中的同步必要性。

导入

并发入门

学习并发与并行之间的基本区别,理解进程与线程的区别,并掌握在共享内存环境中的同步必要性。

...
并发中的任务交错与并行中的同时执行的视觉对比
...
进程具有隔离的内存;线程在单个进程中共享内存
1#include <iostream> 2#include <thread> // std::this_thread::sleep_for 所需 3#include <chrono> // 时间持续时间所需 4 5void performHeavyTask(int id) { 6 std::cout << "任务 " << id << ": 开始..." << std::endl; 7 8 // 模拟一个耗时操作(例如文件下载或复杂计算) 9 // 这会“阻塞”执行流 2 秒。 10 std::this_thread::sleep_for(std::chrono::seconds(2)); 11 12 std::cout << "任务 " << id << ": 完成。" << std::endl; 13} 14 15int main() { 16 std::cout << "主程序: 开始顺序执行任务。" << std::endl; 17 18 // 我们依次执行任务。 19 // 总时间至少为 4 秒(2 秒 + 2 秒)。 20 performHeavyTask(1); 21 performHeavyTask(2); 22 23 std::cout << "主程序: 所有任务完成。" << std::endl; 24 return 0; 25}

高级 C++ 特性与现代实践

使用 std::thread