繁体   English   中英

std :: threads在用户或内核空间中管理?

[英]std::threads are managed in user or kernel space?

正如我在标题中所写,我想知道c ++ stantard线程是在用户还是内核空间中进行管理。

谢谢。

几乎总是如此,标准并没有要求任何特定的实现,它只要求展示的行为符合其规则。

因此,具体实施可自由选择; 另一方面,可能很多实现都将基于boost.thread( std::thread建议所基于的),所以我们可以看看它有一个想法。

该库在Win32上使用POSIX和Windows线程上的pthread。 Win32线程肯定是内核线程,但是pthreads 本身只是另一个接口 ,可以在用户空间和内核空间中实现(尽管几乎任何最近的UNIX内核都提供了在内核空间中实现它们的工具)。

所以: std::thread可以是任何东西,但是,在“主流”PC操作系统/实现上,你很可能会获得内核线程。 如果由于某种原因您需要了解更多信息,请查看编译器的文档。

该接口是围绕pthread设计的 ,但是由libc ++的实现者来决定使用什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM