2009-04-19 26 views
13

विंडोज फोर्क() कॉल की अनुपस्थिति को देखते हुए, विंडोज के तहत पाइथन 2.6 में मल्टीप्रोसेसिंग पैकेज कैसे लागू किया गया है? Win32 थ्रेड या किसी प्रकार की नकली कांटा या मौजूदा मल्टीथ्रेडिंग के शीर्ष पर बस संगतता के शीर्ष पर?विंडोज पर पाइथन मल्टीप्रोसेसिंग कैसे कार्यान्वित किया गया है?

+3

यदि एडम ने आपके प्रश्न का उत्तर दिया है, तो आपको इसे स्वीकार करने के रूप में चिह्नित करना चाहिए :-) –

उत्तर

29

यह sys.executable (यानी एक नई पायथन प्रक्रिया शुरू करने के लिए) के बाद एक सबप्रोसेस कॉल का उपयोग करके किया जाता है, उसके बाद सभी ग्लोबल्स को क्रमबद्ध करके और पाइप पर भेजकर। एक गरीब आदमी की वर्तमान प्रक्रिया का क्लोनिंग। Windows plaform पर मल्टीप्रोसेसिंग का उपयोग करते समय यह extra restrictions का कारण पाया गया है।

आप मल्टीप्रोसेसिंग के बारे में Jesse Noller's talk from PyCon देखने में रुचि भी ले सकते हैं जहां वह इसके उपयोग पर चर्चा करता है।

+4

एडम सही है (मैं जेसी हूं) - यह दुर्भाग्यपूर्ण है, लेकिन Win32 पर सभी कांटा "कार्यान्वयन" भयानक हैक्स हैं। इसलिए हम subprocess और serialization – jnoller

+0

के साथ अटक गए एक स्पष्ट उत्तर के लिए बहुत बहुत धन्यवाद! –

+1

जेफ: यदि आप इससे खुश हैं तो आपको इस उत्तर को स्वीकार के रूप में चिह्नित करना चाहिए। – Adam

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