我想了解更多关于 c++11 多线程模型的信息。谷歌搜索我可以找到很多示例、演示等,但有些东西对我来说并不明显。
我们在大学的操作系统课程中研究了线程概念。当然,这与特定的实现或语言无关。以下段落来自 Abraham Silberschatz、Greg Gagne 和 Peter Baer Galvin,“操作系统概念,第八版”,第 4 章:
4.2 多线程模型
现代系统中有两种类型的线程需要管理:用户线程和内核线程。内核之上支持用户线程,没有内核支持。这些是应用程序程序员将放入他们的程序中的线程。
操作系统本身的内核支持内核线程。所有现代操作系统都支持内核级线程,允许内核
- 执行多个同时任务和/或服务多个内核
- 系统调用同时进行。
在特定实现中,必须使用以下策略之一将用户线程映射到内核线程:
4.2.1 多对一模型
4.2.2 一对一模型
4.2.3 多对多模型
那么c++11支持哪些模型呢?AFAIKc++
不应该用于特定种类的操作系统。所以标准库应该只支持用户空间线程,对吧?