सबसे अच्छा, सबसे सुरक्षित, पोर्टेबल स्वतंत्र डेटा के साथ प्रत्येक धागा काम है करने के लिए तरीका है:
import threading
tloc = threading.local()
अब प्रत्येक धागा एक पूरी तरह से साथ काम करता है स्वतंत्र tloc
ऑब्जेक्ट हालांकि यह वैश्विक नाम है। धागा tloc
पर विशेषताओं को सेट और सेट कर सकता है, tloc.__dict__
का उपयोग करें, यदि इसे विशेष रूप से एक शब्दकोश की आवश्यकता है,
थ्रेड के लिए थ्रेड-स्थानीय संग्रहण थ्रेड के अंत में दूर हो जाता है; धागे को उनके अंतिम परिणाम रिकॉर्ड करने के लिए, उन्हें put
उनके परिणामों को Queue.Queue
(जो आंतरिक रूप से थ्रेड-सुरक्षित है) के सामान्य उदाहरण में समाप्त करने से पहले उनके परिणाम प्राप्त करें। इसी तरह, थ्रेड शुरू होने पर डेटा को थ्रेड करने के लिए प्रारंभिक मानों पर काम किया जा सकता है, या Queue
से लिया जा सकता है।
अन्य अर्ध-बेक्ड दृष्टिकोण, जैसे कि परमाणु दिखने वाले ऑपरेशन वास्तव में परमाणु हैं, किसी दिए गए संस्करण में विशिष्ट मामलों के लिए काम कर सकते हैं और पायथन को छोड़ सकते हैं, लेकिन आसानी से उन्नयन या बंदरगाहों से तोड़ सकते हैं। ऐसे मुद्दों को जोखिम देने का कोई वास्तविक कारण नहीं है जब उचित, स्वच्छ, सुरक्षित वास्तुकला व्यवस्था, पोर्टेबल, आसान और तेज़ व्यवस्था करना इतना आसान हो।
स्रोत
2009-08-21 15:36:10
आप ** ** सीपीथन का उपयोग कर रहे हैं, है ना? – voyager
@ वाहर: हाँ, मैं सीपीथन का उपयोग कर रहा हूं। – Alex