POSIX का mutex
Win32 के CRITICAL_SECTION
के बराबर है - इसका दायरा एक प्रक्रिया तक ही सीमित है। Win32 के mutex (वास्तव में एनटी भूमि में "उत्परिवर्ती" कहा जाता है) एक क्रॉस प्रक्रिया लॉकिंग तंत्र के रूप में कार्य करता है। क्रॉस-प्रोसेस लॉक के लिए पर्थ्रेड्स समकक्ष क्या है?POSIX के Win32 के Mutex के बराबर क्या है?
उत्तर
यह एक pshared विशेषता PTHREAD_PROCESS_SHARED करने के लिए सेट के साथ एक pthread_mutex_t है। हालांकि, आप साझा स्मृति में ऐसे म्यूटेक्स को रखने के लिए ज़िम्मेदार हैं, कि सभी प्रक्रियाएं एक्सेस कर सकती हैं - इसलिए यह Win32 api जितनी आसान नहीं है।
शायद Win32 के करीब posix या sysv semaphore है। परंपरागत रूप से, प्रक्रियाओं में सिंक्रनाइज़ेशन भी फाइल लॉक का उपयोग करके किया गया है उदा। झुंड या lockf (यह कोई रास्ता नहीं में के रूप में धीमी गति से के रूप में यह ध्वनि हो सकता है)
क्या स्कोप केवल धागे पर लागू नहीं होता है? आप केवल 'pthread_attr_t' को' pthread_create' तक पास कर सकते हैं। आपको 'pthread_mutexattin_t'' pthread_mutex_init' के साथ उपयोग करने की आवश्यकता है। –
आप सही हैं, यह pthread_mutexattr का pshared है आपको – nos
की आवश्यकता होगी क्या आपके पास ताले के धीमेपन (या इसकी कमी) पर एक लिंक है? मैंने उस पर अधिक जानकारी की खोज की लेकिन मुझे कुछ भी दिलचस्प नहीं मिला। हमारे पास बड़ी साझा फाइलों के साथ एक बड़ी परियोजना है और मुझे संदेह है कि ताले की वजह से हमारे पास कुछ प्रदर्शन समस्याएं हैं, लेकिन मुझे नहीं पता कि कैसे पता लगाना है। –
आपको क्रॉस-प्रोसेस ऑपरेशंस के लिए आईपीसी का उपयोग करना चाहिए: पाइप, सेमफोर, संदेश कतार, या साझा स्मृति। मुझे लगता है कि आपके मामले में सेमफोर नामक ठीक होगा। अधिक जानकारी के लिए:
man 7 sem_overview
मैं साझा स्मृति का उपयोग करना चाहता हूँ। लेकिन उस साझा स्मृति पर ताले करने के लिए अभी भी एक तरीका होना चाहिए। –
सेम_इनिट() साझा स्मृति पर ताले करने के लिए इस्तेमाल किया जा सकता है। –
इस बेकार सैमफोर सामान को भूल जाओ। एक साझा मेमोरी ऑब्जेक्ट बनाएं और उसके बाद एक pshared mutex बनाएं। –
- 1. Win32 API में Posix popen() के बराबर क्या है?
- 2. Win32: एक mutex के मालिक/प्रक्रिया को कैसे प्राप्त करें?
- 3. लिनक्स में Win32 API के बराबर क्या होगा?
- 4. POSIX
- 5. योजना के बराबर अनपॅकिंग के बराबर क्या है?
- 6. क्या जावास्क्रिप्ट के लागू() के बराबर बराबर है?
- 7. PHP के preg_quote के बराबर क्या है?
- 8. सेमेक में जीसीसी के -विंडोज़ विकल्प के बराबर क्या है?
- 9. क्या AutoResetEvent और Mutex
- 10. रुबी के पाइथन के मल्टीप्रोसेसिंग मॉड्यूल के बराबर क्या है?
- 11. पर्ल के PHP के print_r() के बराबर क्या है?
- 12. आईफोन के एंड्रॉइड के findViewById (int) के बराबर क्या है?
- 13. एकल ऐप उदाहरण के लिए WPF mutex
- 14. ओएसएक्स ShellExecute के बराबर?
- 15. ओएसएक्स के बराबर बराबर?
- 16. एक pthread mutex की "विशेषता" क्या है?
- 17. क्या पाइथोनिक के बराबर बराबर है "अगर __name__ ==" __main__ ": मुख्य()"?
- 18. क्या सी ++ में जावा बराबर विधि के बराबर है?
- 19. apache mod_rewrite node.js के बराबर बराबर है?
- 20. डब्ल्यूटीसीएफ एचटीपीकॉन्टेक्स्ट.कुरेंट.रूक्वेस्ट.राउउआरएल के बराबर क्या है?
- 21. क्या विंडोज़ पर मेक के बराबर है?
- 22. लिनक्स पर _emit के बराबर क्या है?
- 23. कंट्रोलपेंट के बराबर डब्ल्यूपीएफ क्या है। लाइट?
- 24. java.sql.Types MySQL टेक्स्ट के बराबर क्या है?
- 25. NSArrayController के बराबर कोको टच क्या है?
- 26. मैक के बराबर "sizeWithFont:" विधि क्या है?
- 27. java.util.Arrays में बराबर() के रनटाइम क्या है?
- 28. क्या कोई जावा libevent के बराबर है?
- 29. PHP $ _SERVER के बराबर पाइथन क्या है?
- 30. गिट: क्या एचजी स्ट्रिप के बराबर है?
'' CRITICAL_SECTION' pthread_spinlock_t' के करीब है, म्युटेक्स 'WaitForSingleObject' /' 'बनाम pthread_mutex_t' ReleaseMutex' होगा। –
@ स्टीव-ओ: उन दोनों के बीच क्या अंतर है? मेरे (सीमित सीमित) समझने के लिए, एक महत्वपूर्ण खंड और म्यूटेक्स के बीच एकमात्र अंतर यह है कि एक एकल प्रक्रिया में है, जबकि दूसरा क्रॉस-प्रोसेस है। पॉज़िक्स स्पिनलॉक और पॉज़िक्स म्यूटेक्स के बीच अंतर क्या है? –
@ बिली: यह उत्तर मदद कर सकता है, स्पिनलॉक्स व्यस्त-प्रतीक्षा, म्यूटेक्स उपज http://stackoverflow.com/questions/195853/spinlock-versus-semaphore –