新的 C11标准提供了对多线程的支持。
我的问题有点多样化,但绝对可以回答。
我看了一下 C11译自: 美国《科学》杂志网站(http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf)原著: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf的草稿。
上面写着:
支持多线程执行,包括改进的内存排序 模型、原子对象和线程本地存储(
<stdatomic.h>
和<threads.h>
)
什么是 改进的内存排序模型? 与 c99标准有何不同?
如果有人能更深入地研究它们,并试图解释其中涉及的语义,我将不胜感激,而不仅仅是引用标准语言。
据我所知,C11为以下方面提供支持:
希望我没错过什么?
既然现在标准库本身提供(将提供)多线程所需的所有功能,那么将来就不再需要 POSIX 和类似的库(用于多线程支持)了吗?
最后,哪些编译器支持上述特性?是否有关于何时支持这些时间线的参考?
我记得对于 C + + 11,有一个关于编译器支持和特性的链接,也许是类似的东西?