पर पाइथन मल्टीप्रोसेसिंग रनटाइमरर मेरे पास एक क्लास फ़ंक्शन है (चलिए इसे "अल्फा.py" कहते हैं) जो मल्टीप्रोसेसिंग (प्रक्रिया = 2) का उपयोग प्रक्रिया को फोर्क करने के लिए करता है और मैंने जो पायथन पैकेज लिखा है उसका हिस्सा है। एक अलग पायथन लिपि में (चलिए इसे "beta.py" कहते हैं), मैंने इस वर्ग से ऑब्जेक्ट को तुरंत चालू किया और मल्टीप्रोसेसिंग का उपयोग करने वाले संबंधित फ़ंक्शन को बुलाया। आखिरकार, यह सब एक रैपर पायथन लिपि के अंदर लपेटा गया है (चलिए इसे "gamma.py" कहते हैं) जो कई अलग-अलग वर्ग वस्तुओं और कार्यों को संभालता है।विंडोज
मूलतः:
कमांड लाइन से- भागो ./gamma.py
- gamma.py उपप्रक्रिया उपयोग करता है और कार्यान्वित beta.py
- beta.py alpha.py वर्ग से एक वस्तु को दर्शाता है और मल्टीप्रोसेसिंग (प्रक्रिया = 2)
का उपयोग करने वाले फ़ंक्शन को कॉल करता है इसमें मैक या लिनक्स पर कोई समस्या नहीं चल रही है। हालांकि, यह एक Windows मशीन और त्रुटि (और प्रलेखन) पर एक समस्या का सुझाव हो जाता है कि मैं इस कहीं लिखना चाहिए:
if __name__ == '__main__':
freeze_support()
This other post भी ही बात कर का उल्लेख है।
हालांकि, मुझे नहीं पता कि ये दो पंक्तियां कहाँ रहनी चाहिए। वर्तमान में, न तो alpha.py, beta.py, या gamma.py में if __name__ == '__main__':
अनुभाग है। यह बहुत अच्छा होगा अगर कोई मुझे बता सके कि इन दो पंक्तियों को कहाँ जाना चाहिए और इसके पीछे तर्क भी होना चाहिए।
क्या आप इसके साथ प्राप्त एक त्रुटि संदेश की आपूर्ति कर सकते हैं? स्टैक ट्रेस? क्या आपने इसे हल किया था। मुझे आश्चर्य है कि इसका कोई जवाब नहीं था। –