2010-07-23 14 views
7

मेरा मुख्य प्रश्न थ्रेडिंग लॉक ऑब्जेक्ट परमाणु ताले बनाता है? यह नहीं कहता कि लॉक मॉड्यूल दस्तावेज में परमाणु है। पाइथन म्यूटेक्स प्रलेखन में यह कहता है कि म्यूटेक्स लॉक परमाणु है लेकिन ऐसा लगता है कि मैंने कहीं पढ़ा है कि वास्तव में यह नहीं है। मैं सोच रहा हूं कि कोई मुझे इस माटर पर थोड़ा सा अंतर्दृष्टि दे सकता है। मुझे किस लॉक का उपयोग करना चाहिए। मैं वर्तमान में पाइथन 2.4म्यूटेक्स ताले बनाम थ्रेडिंग ताले बनाम। किस का उपयोग करना है?

उत्तर

13

किसी भी प्रकृति के ताले बेकार नहीं होंगे अगर वे परमाणु नहीं थे - लॉक का पूरा बिंदु उच्च स्तरीय परमाणु संचालन की अनुमति देना है।

सभी थ्रेडिंग की सिंक्रनाइज़ेशन ऑब्जेक्ट्स (ताले, रॉक्स, सेमफोर, बाउंडडेमेफोर) परमाणु निर्देशों का उपयोग करते हैं, जैसे म्यूटेक्स।

आप चाहिए उपयोग threading, mutex के बाद से वास्तव में आगे बढ़ते हुए पदावनत (और अजगर 3 में निकाला गया) है।

+0

धन्यवाद, मैं सिर्फ दो बार जांचना चाहता था। – Richard

+1

और 'mutex' मॉड्यूल का उपयोग न करने का एक बड़ा कारण: इसके ताले थ्रेड-अज्ञानी हैं। वे 'शेड्यूल' मॉड्यूल का उपयोग करके सिंगल-थ्रेडेड प्रोग्राम्स में उपयोग के लिए हैं। अनिवार्य रूप से, वे बेकार हैं। –

+0

@ थॉमस वौटर, मैं इसे लेता हूं इसलिए वे अब पाइथन 3 में म्यूटेक्स मॉड्यूल नहीं रख रहे हैं – Richard

संबंधित मुद्दे