بايثون - تعدد المهام
مفهوم تعدد المهام
عندما تستخدم هاتفك أو حاسوبك، ترى أنه يمكنك تشغيل عدة برامج مع بعض في وقت واحد، كل برنامج شغال في الذاكرة يعتبر Process، فمثلاً إذا قمت بتشغيل خمسة برامج مع بعض فهذا يعني أن نظام التشغيل ينظم عمل خمسة Processes مع بعض. آلية تشغيل عدة برامج مع بعض تسمى Multiprocessing.
من جهة أخرى، في البرنامج الواحد يمكنك تنفيذ عدة أوامر مع بعض و جعل المستخدم يشعر كأنها تتنفذ في وقت واحد، فمثلاً في حال كنت تلعب لعبة كلعبة كرة القدم، تجد أنه هناك عدة أشياء تحدث في وقت واحد حيث أنك تسمع عدة أصوات (مثل أغنية حماسية، صوت المعلق، صوت المشجعين، صوت صفارة الحكم في حال وقع خطأ إلخ..)، بالإضافة إلى أنه يمكنك تحريك اللاعب و مشاهدة توقيت المبارة و الكثير من التفاصيل الأخرى التي تحدث كلها في نفس الوقت لتصنع لك لعبة رائعة. هذه الآلية تسمى تعدد المهام ( Multithreading )، لأن كل جزء شغال في البرنامج يكون عبارة عن مجموعة أوامر موضوعة بداخل ثريد ( Thread ) خاص.
نستخدم آلية Multithreading لجعل البرنامج قادر على تنفيذ عدة أوامر مع بعض و كأنها تتنفذ في وقت واحد.
أهمية تعدد المهام
- جعل المستخدم قادر على القيام بعدة عمليات مع بعض في نفس الوقت.
- جعل تصميم التطبيقات أجمل و إضافة مؤثرات فيه.
- أوامر الثريد تتنفذ بشكل منعزل عن باقي الثريدات الموجودة في البرنامج، و بالتالي فإنه في حال وقوع أي خطأ في ثريد فإنه لن يؤثر على أي ثريد آخر شغال في البرنامج.
جاهز لرحلة التحدي؟
قم بتوليد تمارين لا نهائية بشكل تدريجي (10 في كل مرة) بناءً على هذا الدرس. كل تمرين مصمم لرفع مستوى تفكيرك المنطقي.