c ++ 11线程平台是否独立?

奥兹古尔

我搜索了很多问题和答案,但我真的无法弄清楚这个问题。昨天,我在Visual C ++项目中的Windows上尝试了C ++ 11线程,并且工作正常。

这是否意味着我们可以在每个具有支持C ++ 11的编译器的平台上使用C ++ 11线程?是否有任何原因不使用此线程而不是pthread或Windows线程(取决于平台)?

你好,世界

C ++ 11线程库仍然使用操作系统中的线程并依赖于它们,但是以一种很好的方式对其进行了抽象,因此您几乎不会遇到任何差异。行为仅在细节上有所不同,并且您几乎不会注意到它们(仅在极端情况下和/或发生故障时)。可能仍然有一些平台不支持所有功能std::thread(即使在2015年,例如在某些特定/特殊的移动平台上)。

从C ++标准:

30线程支持库

指定了本条款中描述的某些函数以引发类型为system_error(19.5.6)的异常。如果检测到任何函数错误条件,或者对操作系统或其他基础API的调用导致错误,从而导致库函数无法满足其规范,则将引发此类异常。如第17.6.5.12节所述,应报告未分配存储的情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章