में कोई गैर-फ़ाइल-आधारित नाम म्यूटक्स है? मेरी समस्या यह है कि प्रक्रिया क्रैश होने पर फ़ाइल को हटाया नहीं जाएगा। फ़ाइल रीबूट भी जीवित रहेगी।क्या कोई गैर-फ़ाइल-आधारित नामित म्यूटेक्स
संबंध है, टोबियास
में कोई गैर-फ़ाइल-आधारित नाम म्यूटक्स है? मेरी समस्या यह है कि प्रक्रिया क्रैश होने पर फ़ाइल को हटाया नहीं जाएगा। फ़ाइल रीबूट भी जीवित रहेगी।क्या कोई गैर-फ़ाइल-आधारित नामित म्यूटेक्स
संबंध है, टोबियास
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
नाम_म्यूटेक्स (कम से कम डिफ़ॉल्ट सेटिंग्स में) एक फ़ाइल बनाता है। यह वही नहीं है जो मैं चाहता हूं, इसलिए मेरा प्रश्न। –
हाँ, मेरा बुरा। मैं 1.46 शाखा में कार्यान्वयन की जांच करता हूं (
हो सकता है 'boost :: thread :: mutex' नौकरी करें। मैंने इसका उपयोग नहीं किया है हालांकि – maverik
खिड़कियों के लिए यह बाद से यह आधारित फ़ाइल नहीं है
मैंने टिकट साइन बनाया है यह एक अनौपचारिक लगता है। Https://svn.boost.org/trac/boost/ticket/12370 देखें – gast128
आप प्रक्रियाओं के बीच म्युटेक्स साझा करने के लिए की जरूरत है
boost::interprocess::ipcdetail::winapi_mutex_wrapper
उपयोग करना संभव है? (मुझे लगता है कि अगर आप * नाम * म्यूटेक्स के बारे में पूछ रहे हैं तो आप ऐसा करते हैं, लेकिन बेहतर स्पष्ट हो)। और क्या आप विंडोज या यूनिक्स का उपयोग कर रहे हैं (जो बनाया गया है उसके साथ व्यवहार अलग हो सकता है)? –हाँ, मुझे प्रक्रियाओं के बीच साझा करने की आवश्यकता है। प्राथमिक उपयोग Win32 पर है, लेकिन एक पोर्टेबल समाधान बेहतर होगा, इसलिए बूस्ट समाधान के लिए सवाल। –