新的C11标准提供了对多线程的支持。
我的问题有点多样化,但肯定可以回答。
我看过C11 n1570草案。
它说:
支持多个执行线程,包括改进的内存排序模型,原子对象和线程本地存储(
<stdatomic.h>
和<threads.h>
)
什么是改进的内存排序模型?与c99标准相比有何变化?
除了有人引用标准之外,如果有人深入研究它们并尝试解释所涉及的语义,我将不胜感激。
据我了解,C11提供以下支持:
- 线程创建和管理
- 互斥体
- 条件变量
- 线程专用存储和
- 原子物体
我希望我没有错过任何事情吗?
由于现在标准库本身提供了(将提供)多线程所需的所有功能,因此将来将不需要POSIX和此类库(用于多线程支持)吗?
最后,哪些编译器为上述功能提供支持?是否有关于何时支持时间表的参考?
我记得对于C ++ 11,有一个指向编译器支持和功能的链接,也许是这样的?