ليش التشغيل المتعدد الخيوط لا يجعل رمز بايثون اسرع؟ كيف اقدر اصلح هذا؟
بيثون يقيد الوصول للمترجم مع قفل المترجم العالمي، والذي يشار اليه باسم GIL، لمتطلبات الأمان الداخلي للخيوط. لسوء الحظ، هذا القرار التصميمي يسمح فقط لشبكة واحدة لتفسير رمز بايثون في وقت واحد، حتى على جهاز لديه القدرة على تشغيل عدة سلاسل معًا.  اذا كنت ترغب في تشغيل رمز بايثون على مجموعة من البيانات، والبيانات يمكن تقسيمها إلى شرائح مستقلة (عملية تعرف باسم تقسيم البيانات) ، قد ترغب في النظر في مكتبة المعالجة المتعددة في بايثون.  على سبيل المثال، فكر في الدالة foo والتي تأخذ دليل واحد، arg1، وقول انك تريد تشغيل الدالة foo على عدد من القيم، مثلا، val1، val2، و val3.  def foo(arg1): افعل شيء  if_name__ == '_main__': فووال) فووال) فووال)  عشان ينفذ foo على عمليات متعددة معا، يمكنك استخدام مجموعة المعالجة المتعددة لتشغيل عمليات عامل متعددة معا:  من مجموعة الاستيراد المتعددة المعالجة  def foo(arg1): افعل شيء  if_name__ == '_main__': ب = حقل p.map(foo، [val1, val2, val3])  مكتبة المعالجة المتعددة توفر أيضاً العديد من واجهات التطبيقات الأخرى للبرمجة المتوازية. تحب تعرف اكثر؟