पायथन इंटरप्रिटरला ग्लोबल इंटरप्रिटर लॉकसह प्रवेश प्रतिबंधित करते, ज्याला जीआयएल म्हणून संदर्भित केले जाते, अंतर्गत थ्रेड-सुरक्षा आवश्यकतांसाठी. दुर्दैवाने, हा डिझाईन निर्णय एका वेळी फक्त एका धाग्याला पायथन कोडची व्याख्या करण्यास परवानगी देतो, अगदी एका मशीनवर एकाधिक धागे एकत्र चालवण्याची क्षमता असलेली.  जर तुम्हाला एका डेटा सेटवर पायथन कोड चालवायचा असेल, आणि डेटा स्वतंत्र विभागांमध्ये विभागला जाऊ शकतो (डेटा विभाजन म्हणून ओळखली जाणारी प्रक्रिया), तर तुम्हाला पायथन मल्टिप्रोसेसिंग लायब्ररीमध्ये पाहू शकता.  उदाहरणार्थ, फंक्शन foo विचारात घ्या ज्यामध्ये एक तर्क आहे, arg1, आणि सांगा की तुम्हाला फंक्शन foo चालवायची आहे अनेक मूल्यांवर, म्हणा, val1, val2, आणि val3.  def foo ((arg1)): # काहीतरी करा  if __name__ == '__main__': फुकट फुकुळ (2) फुकटच  foo एकाधिक प्रक्रियांवर एकाच वेळी चालविण्यासाठी, आपण एकाधिक कामगार प्रक्रिया एकाच वेळी चालविण्यासाठी मल्टीप्रोसेसिंग पूल वापरू शकताः  मल्टीप्रोसेसिंग इम्पोर्ट पूलमधून  def foo ((arg1)): # काहीतरी करा  if __name__ == '__main__': p = पूल p. map(foo, [val1, val2, val3])  मल्टीप्रोसेसिंग लायब्ररी समांतर प्रोग्रामिंगसाठी विविध इतर एपीआय देखील प्रदान करते. तुम्हाला अधिक माहिती हवी आहे का?
मल्टी-थ्रेडिंग माझा पायथन कोड वेगवान का करत नाही? मी ते कसे सुधारू शकतो.