支持多个执行线程,包括改进的内存排序模型、原子对象和线程本地存储(和)
那么,什么是“改进的内存排序模型”?与C99标准相比有何变化?
我希望有人能深入探讨这些标准,并尝试解释涉及的语义。
据我所知,C11提供以下支持:
- 线程创建和管理 - 互斥锁 - 条件变量 - 线程特定存储 - 原子对象
我希望没有遗漏任何事情?由于标准库本身提供(将提供)了多线程所需的所有功能,未来将不再需要POSIX和其他库(用于多线程支持)?
最后,哪些编译器支持上述功能?是否有关于何时支持这些功能的时间表的参考资料? 我记得对于C++11,有一个链接列出了编译器支持和功能,或许有类似的东西?
1-3
在逻辑上相关,并且应该被组合在一起。对于其中任何一个问题的回答都会涉及到它们中的所有三个问题。也许,问题4
可以是一个独立的问题,但我觉得没有必要专门为此开启一个问题。 - Alok Save