मैंने अभी तक 2.6 में बहु-प्रोसेसिंग के साथ प्रयोग नहीं किया है, लेकिन मैंने पाइप्रोसेसिंग के साथ बहुत कुछ खेला (जैसा कि इसे 2.5 में कहा गया था)।
मैं देख सकता हूं कि आप क्रमशः धागे के सेट के साथ कई प्रक्रियाओं की तलाश कर रहे हैं।
जब से तुम बहु मॉड्यूल का उपयोग कर रहे हैं, मैं उपयोग बहु प्रक्रिया का सुझाव देगा और न बहु धागा दृष्टिकोण, आप गतिरोध की तरह कम समस्याओं मारा जाएगा, आदि
एक कतार वस्तु बनाएँ। http://pyprocessing.berlios.de/doc/queue-objects.html
एक बहु प्रक्रिया वातावरण बनाने के लिए पूल का उपयोग करें: http://pyprocessing.berlios.de/doc/pool-objects.html जो आपके लिए कार्यकर्ता प्रक्रियाओं का प्रबंधन करेगा। फिर आप श्रमिकों को एसिंक्रोनस/सिंक्रोनस लागू कर सकते हैं और यदि आवश्यक हो तो प्रत्येक कार्यकर्ता के लिए कॉलबैक भी जोड़ सकते हैं। लेकिन याद वापस बुलाना एक आम कोड खंड है और इसे तुरंत (के रूप में दस्तावेज में उल्लेख किया है) लौटना चाहिए
कुछ अतिरिक्त जानकारी: यदि आवश्यक कतार वस्तु का उपयोग करने का प्रबंधन करने के लिए एक प्रबंधक http://pyprocessing.berlios.de/doc/manager-objects.html पैदा करते हैं। आपको इसके लिए कतार वस्तु साझा करना होगा। लेकिन इसका फायदा यह है कि, एक बार साझा और प्रबंधित होने पर आप प्रॉक्सी ऑब्जेक्ट्स बनाकर पूरे नेटवर्क पर इस साझा कतार तक पहुंच सकते हैं। यह आपको किसी केंद्रीकृत साझा कतार वस्तु के तरीकों को (स्पष्ट रूप से) किसी भी नेटवर्क नोड पर मूल विधियों के रूप में कॉल करने में सक्षम करेगा।
यहाँ प्रलेखन
यह एक मशीन पर एक प्रबंधक सर्वर चलाने के लिए और ग्राहकों को अन्य मशीनों (यह मानते हुए कि फायरवॉल शामिल इसे अनुमति देने के) से इसका इस्तेमाल करना संभव है से एक कोड उदाहरण है।
>>> from processing.managers import BaseManager, CreatorMethod
>>> class QueueManager(BaseManager):
... get_proxy = CreatorMethod(typeid='get_proxy')
...
>>> m = QueueManager.from_address(address=('foo.bar.org', 50000), authkey='none')
>>> queue = m.get_proxy()
>>> queue.put('hello')
आप सुरक्षित थ्रेड पर जोर देते हैं: इस प्रकार
>>> from processing.managers import BaseManager, CreatorMethod
>>> import Queue
>>> queue = Queue.Queue()
>>> class QueueManager(BaseManager):
... get_proxy = CreatorMethod(callable=lambda:queue, typeid='get_proxy')
...
>>> m = QueueManager(address=('foo.bar.org', 50000), authkey='none')
>>> m.serve_forever()
एक ग्राहक सर्वर का उपयोग कर सकते हैं: निम्न कमांड चल रहा है एक साझा कतार के लिए एक सर्वर जो दूरस्थ क्लाइंट प्रयोग कर सकते हैं सामान, पीईपी 371 (मल्टीप्रोसेसिंग) संदर्भ http://code.google.com/p/python-safethread/
आपके कोड का एक अंश जिसमें क्यू ऑब्जेक्ट्स शामिल हैं, मदद कर सकता है। – jfs