Research summary
تتناول المحاضرة الرابعة من مقرر التطبيقات الموزعة التي ألقاها المحاضر محسن إبراهيم موضوع الخيوط (Threads) في البرمجة بلغة جافا. تبدأ المحاضرة بتعريف الخيوط كأصغر وحدة تنفيذية داخل عملية، حيث تشترك في الشيفرة والموارد العامة للعملية. تتناول المحاضرة مزايا استخدام الخيوط مثل تحسين الأداء واستغلال وحدات المعالجة المتعددة، وكذلك العيوب مثل إمكانية حدوث حالات الجمود (Deadlocks) والتكاليف الإضافية للتبديل بين الخيوط. ثم تستعرض المحاضرة كيفية إنشاء الخيوط في جافا باستخدام طريقتين: تمديد فئة Thread أو تنفيذ واجهة Runnable. يتم شرح بعض الطرق الأساسية للخيوط في جافا مثل start() وjoin() وgetName() وsetPriority() وyield() وsleep(). كما تتناول المحاضرة حالات الخيوط المختلفة في جافا. تتضمن المحاضرة أيضًا تمارين عملية لإنشاء خيوط وطريقة مزامنة العمليات المشتركة باستخدام الكتل المتزامنة في جافا. في النهاية، يتم تقديم تمرين لإنشاء فئة عداد مع طريقة متزامنة لإضافة القيم، وإنشاء خيوط تستخدم هذا العداد.
Critical review
دراسة نقدية: تقدم المحاضرة شرحًا وافيًا لموضوع الخيوط في جافا، مع توضيح مزاياها وعيوبها وكيفية استخدامها بطرق مختلفة. ومع ذلك، كان من الممكن تحسين المحاضرة بإضافة أمثلة عملية أكثر تعقيدًا توضح كيفية التعامل مع مشاكل الجمود والتزامن بشكل أعمق. كما أن تضمين بعض النصائح حول تحسين الأداء عند استخدام الخيوط كان سيكون مفيدًا للطلاب. بالإضافة إلى ذلك، كان من الممكن توضيح بعض المفاهيم النظرية بشكل أعمق مثل كيفية عمل جدولة الخيوط في نظام التشغيل وكيفية تأثير ذلك على أداء التطبيقات الموزعة.
Questions related to the research