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

تحدد ال Priority أولوية التنفيذ عندما يتم ادخال ال threads على البروسيسور ، حيث ان ال thread ذو الاولوية الأعلى يحظى بعدد مرات تنفيذ ، لتقريب المفهوم نفترض ان لدينا

- مهمة 1 اولوية قصوى .
- مهمة 2 اولوية قصوى .


في هذه الحالة يتم ادخال المهمة 1 للبروسيسور ، ثم 2 ، ثم 1 وهكذا .
أما في حال كون مهمة 2 ذات اولوية اقل ، يكون الأمر بالشكل التالي :
المهمة 1 ، المهمة 1 ، المهمة 1 ، المهمة 2 ، المهمة 1 ، المهمة 1 ، المهمة 1 ، المهمة 2 ... وهكذا حتى الانتهاء من احدهما .

ليس هذا مكان شرح الجوريزمات البروسيسور ، إنما لو أردت الزيادة يمكنك البدء من هنا ، حيث تجد عدة انواع من ال scheduling .
http://en.wikipedia.org/wiki/Scheduling_%28computing%29

نعود مرة أخرى ، لتحديد Priority أي مهمة لدينا نستخدم ال enum التالي :


كود :
public enum ThreadPriority
{
AboveNormal,
BelowNormal,
Highest,
Idle,
Lowest,
Normal, // Default value.
TimeCritical
}
ويصبح الكود بالشكل التالي مثلاً :

كود :
t1.Priority = System.Threading.ThreadPriority.Highest;


قبل البعد عن المواضيع الاساسية ، لا تنسى ان بامكانك استخدام sleep لايقاف التنفيذ لمدة ، supponse لايقاف مؤقت ... الخ من النقاط التي بدأنا بها شرحنا لهذا الدرس .

يتبع ...
}}}
تم الشكر بواسطة:


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


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم