नहीं है, अजगर जादुई यह आपके लिए parallelize नहीं होंगे। वास्तव में, यह नहीं कर सकता, क्योंकि यह प्रविष्टियों की आजादी साबित नहीं कर सकता है; जिसके लिए कार्यक्रम निरीक्षण/सत्यापन का एक बड़ा सौदा होगा, जो सामान्य मामले में सही होना असंभव है।
आप जल्दी मोटे सुक्ष्म मल्टीकोर समानांतरवाद चाहते हैं, मैं joblib बजाय सलाह देते हैं:
from joblib import delayed, Parallel
values = Parallel(n_jobs=NUM_CPUS)(delayed(f)(x) for x in range(1000))
इतना ही नहीं मैं इस लाइब्रेरी का उपयोग कर, यह भी इस तरह के रूप संकेतों के महान सुविधा है पास रेखीय speedups देखा है Ctrl-C से इसकी कार्यकर्ता प्रक्रियाओं में से एक, जिसे सभी मल्टीप्रोसेस पुस्तकालयों के बारे में नहीं कहा जा सकता है।
ध्यान दें कि joblib नहीं वास्तव में समर्थन शेयर्ड मेमोरी समानांतरवाद: यह कार्यकर्ता प्रक्रियाओं, नहीं धागे spawns, तो यह श्रमिकों के लिए डेटा भेजने से कुछ संचार भूमि के ऊपर पड़ता है और मास्टर प्रक्रिया को वापस परिणाम है।
स्रोत
2011-06-02 11:53:08
मुझे नहीं लगता कि अजगर कर सकते हैं, लेकिन वहाँ एक ऐसी ही सवाल में कुछ और जानकारी है http://stackoverflow.com/questions/ इस उदाहरण पर विचार 5236364/कैसे करने वाली parallelize-सूची-समझ-गणना में अजगर। –