原文链接原作者:Valentina Di Vincenzo仅供个人学习、研究和欣赏当我刚开始学 C++ 多线程的时候,我凌乱了。程序的复杂度如同一朵美丽的鲜花一样炸开了,并发的不确定行为要把我骨灰都给扬咯,当时我直接蒙了。如今你被我逮到了,我给你整个好活儿:这里是一份关于 C++ 并发和多线程的简易教程,放心,这个不会三天之内sa了你。现在,来快速复习一些基本概念,然后来雅间尝点并发代码。概念什么是线程?在进程被创建时,每个进程都有一个单独用来执行代码的线程,叫主线程。你可以向操作系统请求创建其他的线程,这些线程共享父进程的内存空间(代码区,数据区,其他操作系统资源,比如说打开的文件和信号)。另一方面,每个线程有各自的线程ID,栈,寄存器组和程序计数器。基本上来说,线程就是轻量的进程。在线程之间切换比进程快,线程间通信也比进程间通信更容易。什么是并发?随着时间,操作系统的任务调度器会给可用的 CPU 核心分配线程来运行,而且具有不确定性。这叫做硬件并发:多个线程并行运行在不同核心上,每个线程运行着程序的特定任务。{fwcode type="info"}std::thread::hard
糖萌芦