繁体   English   中英

是否存在C ++ 11关键部分?

[英]Are there C++11 critical sections?

我试图找到相当于C ++ 11的关键部分,是新的C ++ 11互斥锁概念是否受到限制(例如仅在用户空间强制使用互斥锁)? 也许它是特定的实现,因为我找不到任何特定的东西。 也许C ++ 11有自己的关键部分类,因为互斥体是跨进程的,对吧? 请帮忙。

标准库实现可以免费使用它喜欢的任何互斥实现,以满足标准中规定的要求和行为。 提供跨进程锁定的实现(标准不需要)可能不会比没有进行锁定的实现更低。 因此,高质量的实现很可能提供进程本地互斥(mutices?)。

因此,虽然可以使用例如命名的信号量来实现C ++ 11互斥体的一致性实现,但是很难将该实现销售给用户。 据我所知,还没有流行的实现在std::mutex中提供跨进程锁定。

C ++标准只涉及单个程序,因此只涉及一个过程; 对于在流程之外发生的事情,没有什么可说的。 至少在一些Posix实现中,一些“互斥”是跨进程的,因此在它们之下,任何C ++互斥体也将是跨进程的。 在其他系统下,它可能取决于系统。

另外:在用户空间中实现互斥并不意味着它不能进行跨进程,因为用户空间可以包括共享内存或mmap ed空间,可以从多个进程访问。

暂无
暂无

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

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