2012-11-08 13 views
9

threading मॉड्यूल के प्रलेखन में यह कहते हैंthreading.Lock संदर्भ प्रबंधक के रूप में उपयोग करते हुए

() और रिलीज() तरीके इस मॉड्यूल है कि अधिग्रहण द्वारा उपलब्ध कराई गई वस्तुओं के सभी संदर्भ प्रबंधक के रूप में इस्तेमाल किया जा सकता कथन के साथ। जब ब्लॉक दर्ज किया गया है, तो अधिग्रहण() विधि को कॉल किया जाएगा, और जब ब्लॉक बाहर निकलता है तो रिलीज़() को कॉल किया जाएगा।

मैं सोच रहा था कि क्या इसे अवरुद्ध करने या गैर ब्लॉकिन मोड में बुलाया जाता है?

उत्तर

8

CPython source पर देखकर, ऐसा लगता है कि इसे डिफ़ॉल्ट तर्कों के साथ बुलाया जाता है, जिसका अर्थ ब्लॉकिंग मोड में है।

जिस तरीके से आप विशेष रूप से देखना चाहते हैं __enter__() है, जिसे with ब्लॉक, और __exit__() की शुरुआत में कहा जाता है, जिसे अंत में बुलाया जाता है।

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