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