تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس الثامن والأربعون - Multithreading
#1
كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

تعرف نظم التشغيل الحديثة بأنها multitasking systems وهو ما يعني امكانية تنفيذ اكثر من مهمة في نفس الوقت ، لذا تجد أن بامكانك تشغيل عدة برامج في نفس الوقت .

برامج .net من هذا النوع افتراضياً ، لكنك تلاحظ في بعض البرامج ان البرنامج الواحد قادر على تنفيذ اكثر من عملية في نفس الوقت دون أن يكون لهما تأثير متعارض ، هذا ما يعرف باسم multithreading .

لذا تجد ان برنامج الماسنجر يتيح لك ارسال ملفات والحديث واستخدام الكاميرا والتحدث مع اكثر من شخص بنفس الوقت ، وهو ما لم يكن الماسنجر قادراً عليه لو لم يكن يفصل هذه المهام داخل البرنامج الواحد عن بعضها ، هذا هو مضمون درسنا الحالي .

جميع الأوامر التي سنتعامل معها هنا تقع تحت نطاق الأسماء System.Threading ، لذا قم باستيراده أولاً .

العناصر الاساسية داخل مجال الاسماء هذا هي :

Thread : لتعريف Thread جديد والتعامل معه .
ThreadPool : مجموعة من ال Threads يمكن لها التعامل فيما بينها .
ThreadState : Enum يحتوي على عدة حالات لأي Thread .
ThreadStart : بدء التنفيذ في Thread .
ThreadPriority : تحديد اولوية هذا ال Thread .


بالاضافة إلى :

Semaphore
Mutex
Monitor


وهي في الاساس الجوريزمات تستخدم لعمليات التزامن synchronization بحيث لا يسمح لأكثر من Thread بالوصول إلى نفس المصادر في نفس الوقت ، لمزيد من التعرف على هذه الالجوريزمات يمكن البدء من هنا :
http://en.wikipedia.org/wiki/Semaphore_(programming)
http://en.wikipedia.org/wiki/Mutual_exclusion
http://en.wikipedia.org/wiki/Monitor_(synchronization)

نواصل في الدرس القادم إن شاء الله .
}}}
تم الشكر بواسطة: rabia al hamdani


الردود في هذا الموضوع
الدرس الثامن والأربعون - Multithreading - بواسطة Raggi Tech - 14-10-12, 05:12 PM


التنقل السريع :


يقوم بقرائة الموضوع: