8
A
回答
1
Boost.Interprocess中提供下列的互斥鎖類型:
#include <boost/interprocess/sync/interprocess_mutex.hpp>
interprocess_mutex:一種非遞歸的,匿名互斥可以放置在共享存儲器或內存映射文件。
#include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
interprocess_recursive_mutex:一個遞歸的,匿名互斥可以放置在共享內存或存儲器映射的文件。
#include <boost/interprocess/sync/named_mutex.hpp>
named_mutex:非遞歸,命名互斥。
#include <boost/interprocess/sync/named_recursive_mutex.hpp>
named_recursive_mutex:遞歸,命名互斥。
我建議使用命名互斥鎖。見docs
3
對於windows就可以使用boost::interprocess::ipcdetail::winapi_mutex_wrapper
因爲它不是基於文件的
+0
我創建了一張票,這似乎是非官方的正弦。請參閱https://svn.boost.org/trac/boost/ticket/12370 – gast128 2016-08-02 15:57:07
相關問題
- 1. 提升interprocess互斥體vs提升線程互斥體
- 2. C++提升線程和互斥體
- 3. 提升線程資源和互斥體
- 4. 鎖定一個互斥體的載體 - 升壓
- 5. pthreads互斥體實現中是否存在基本錯誤?
- 6. 爲什麼我的互斥體類有時不會刪除互斥體文件?
- 7. JavaScript中是否需要互斥體?
- 8. 不知道我是否需要一個互斥體
- 9. 提升作用域解鎖互斥量
- 10. AIX是互斥體sempahores?
- 11. 爲什麼互斥體不需要互斥體(並且該互斥體需要互斥體...)
- 12. 提升互斥鎖定在同一線程上
- 13. 傳遞具有互斥體的類對象以通過引用提升::線程
- 14. 爲什麼命名.NET互斥體在處置時拋出AbandonedMutexException?
- 15. MySql事務是否互斥?
- 16. onCreate和onRestoreInstanceState是否互斥?
- 17. PTHREAD_MUTEX_ *和PTHREAD_MUTEX_ERRORCHECK是否互斥?
- 18. std :: tr1 :: shared_ptr是否互斥?
- 19. 兩個互斥體condvar
- 20. 多進程,一個互斥體
- 21. 在運行時選擇互斥體或虛擬互斥體
- 22. 是否有任何理由擁有多個全球可訪問的互斥體?
- 23. 我可以混合使用基於futex的互斥體與glibc-2.2 linuxthreads互斥體嗎?
- 24. 如何檢查線程是否持有互斥體C++
- 25. 命名的互斥體跨流程習得順序
- 26. 互斥體實現是否可以互換(獨立於線程實現)
- 27. 有條件子分析器基於互斥組參數
- 28. 基於另一個文件名重命名文件名的shell腳本
- 29. 條件變量是否爲互斥鎖提供優先級?
- 30. Windows Server 2003提供網絡互斥體
你需要在進程間共享互斥? (如果你問的是一個*名爲*互斥體的話,我想你會這樣做,但最好清楚一點)。你使用的是Windows還是Unix(與創建的行爲可能會有所不同)? – 2011-03-14 15:18:12
是的,我需要在進程之間共享。主要用途是在Win32上,但是一個便攜式解決方案會更好,因此提升解決方案的問題。 – 2011-03-15 12:55:38