簡體   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