مفهوم تعدد المهام في لغة البرمجة بايثون Multiprocessing in Python

اقرأ في هذا المقال


عندما تقوم باستخدام هاتفك الجوال أو جهاز الحاسوب الخاص بك فإنه بإمكانك تشغيل عدة برامج في آن واحد، حيث كل برنامج فعال في الذاكرة يعتبر (Process)، وعملية تشغيل عدة برامج مع بعضها البعض في آن واحد تسمى (Multiprocessing).

مفهوم تعدد المهام في لغة البرمجة بايثون Multiprocessing:

تُستخدم آلية تعدد المهام (Multiprocessing) في لغة البرمجة بايثون لجعل البرنامج قادر على تنفيذ عدة أوامر مع بعض و كأنها تتنفذ في وقت واحد، وتشير هذه الخاصية إلى قدرة النظام على دعم أكثر من معالج في نفس الوقت، حيث يتم تقسيم التطبيقات في نظام متعدد المعالجات إلى إجراءات أصغر تعمل بشكل مستقل.

مفهوم ال Thread في لغة البرمجة بايثون:

(Thread) هو عبارة عن مجموعة من الأوامر التي يتم تنفيذها أثناء تنفيذ أوامر أخرى في نفس البرنامج، وبإمكان المستخدم تشغيل أكثر من (Thread) في نفس الوقت ومن الممكن أيضاً مشاركة المعلومات فيما بينهم.

أهمية تعدد المهام في لغة البرمجة بايثون:

ولهذه الآلية في مجال لغات البرمجة العديد من المزايا حيث إن البرنامج الواحد بإمكانه تنفيذ العديد من الأوامر في وقت واحد وتكمن أهمية هذا المصطلح في:

  • جعل المستخدم قادر على تنفيذ العديد من العمليات مع بعض في نفس الوقت.
  • جعل تصميم التطبيقات يظهر بشكل أجمل وتمكين المستخدم من إضافة مؤثرات فيه.
  • كل برنامج يقوم المستخدم بتشغيله يعمل بشكل منعزل عن باقي الأوامر الموجودة في البرامج الأخرى وبالتالي فإنه في حال وقوع أي (Error) في الـ (Thread) فإنه لن يؤثر على باقي الأوامر الموجود في البرنامج.

أهم الدوال الخاصة بالموديول threading في لغة البرمجة بايثون:

الجدول التالي يحتوي على أهم الدوال الخاصة بالموديول (threading) في لغة البرمجة بايثون:

الدالةالاستخدام
()threading.active_countتقوم هذه الدالة بإرجاع عدد الـ (Threads) التي يتم تنفيذها في الوقت الحالي.
()threading.main_threadتقوم هذا الدالة بإرجاع كائن الـ (thread) الأساسي في البرنامج.
()threading.current_threadتقوم هذه الدالة بإرجاع كائن الـ (thread) الذي يتم تنفيذه في الوقت الحالي.
()threading.enumerateتقوم هذه الدالة بإرجاع كائن من نوع (list) والذي يحتوي على كل كائن من نوع (thread) يتم تنفيذه في الوقت الحالي.

أهم الدوال الخاصة الكلاس Thread في لغة البرمجة بايثون:

الدالة الاستخدام
()startتستخدم هذه الدالة لتشغيل كائن من نوع (Thread) الذي قام باستدعائها.
()is_aliveتقوم هذه الدالة بإرجاع قيمة (True) في حال أن كائن الـ (Thread) لم ينتهي تنفيذه وتقوم بإرجاع (False) في حال انتهاء تنفيذه.
nameتقوم بإرجاع الاسم الذي تم إعطاؤه لكائن الـ (Thread) الذي قام باستدعائها.

المصدر: Multiprocessing in Python | Set 1 (Introduction)A beginners guide to Multi-Processing in PythonPython Multiprocessing TutorialCore Python Applications Programming: Multithreaded Programming


شارك المقالة: