طرق جدولة خيط Java هي: 1. جدولة الخيط التعاوني تعتمد الأنظمة متعددة الخيوط الجدولة التعاونية، ويتم التحكم في وقت تنفيذ الخيط بواسطة الخيط نفسه. 2. جدولة الخيط الوقائية باستخدام نظام جدولة وقائية متعدد الخيوط، سيتم تخصيص وقت تنفيذ كل خيط من قبل النظام.
بيئة تشغيل هذا البرنامج التعليمي: نظام Windows 7، إصدار Java 10، كمبيوتر DELL G3.
1. جدولة المواضيع التعاونية
يعتمد النظام متعدد الخيوط جدولة تعاونية، ويتم التحكم في وقت تنفيذ الخيط بواسطة الخيط نفسه، وبعد أن يكمل الخيط عمله، يقوم بإعلام النظام بالتبديل إلى خيط آخر. ميزة تعدد الخيوط التعاونية هي أنها سهلة التنفيذ، لأن الخيط سوف يقوم بتبديل الخيوط بعد الانتهاء من عمله، وعملية التبديل معروفة للخيط نفسه، لذلك لا توجد مشكلة في مزامنة الخيط بشكل عام. كما أن عيوبه واضحة أيضًا: لا يمكن التحكم في وقت تنفيذ الخيط، وإذا تمت كتابة رمز الخيط بشكل غير صحيح ولم يُسمح للنظام بتبديل سلاسل الرسائل، فسيتم حظر البرنامج دائمًا.
2. جدولة موضوع وقائية
باستخدام نظام جدولة استباقي متعدد الخيوط، سيتم تخصيص وقت تنفيذ كل مؤشر ترابط بواسطة النظام، ولا يتم تحديد تبديل الخيط من خلال العملية نفسها. على سبيل المثال، في Java، هناك طريقة Thread::yield() يمكنها التخلي عن وقت التنفيذ بشكل نشط، ولكن إذا كنت ترغب في الحصول على وقت التنفيذ بشكل نشط، فلن يكون لدى مؤشر الترابط نفسه أي طريقة. بهذه الطريقة، يتم تنفيذ جدولة الخيط، ويتحكم النظام في وقت تنفيذ الخيط. لا توجد مشكلة في أن يتسبب خيط واحد في حظر العملية بأكملها أو حتى النظام بأكمله.
ما ورد أعلاه هما طريقتان لجدولة سلاسل رسائل Java، وآمل أن تكونا مفيدتين للجميع.