ما الفرق بين العملية والثريد Process vs thread

اقرأ في هذا المقال


ما هي العملية Process؟

العملية هي تنفيذ برنامج يسمح لك بتنفيذ إجراءات مناسبة ومحددة، ويمكن تعريفها على أنها وحدة تنفيذ حيث يتم تشغيل البرنامج، بمساعدة نظام التشغيل على إنشاء وجدولة وإنهاء العمليات التي تستخدمها وحدة المعالجة المركزية، بالأضافة إلى العمليات الأخرى التي تم إنشاؤها بواسطة العملية الرئيسية حيث تسمى العملية الفرعية.

يمكن التحكم في العمليات داخل العملية بسهولة بمساعدة “كتلة التحكم في العمليات”، يمكنك اعتبارها بمثابة العقل للعملية، والتي تحتوي على جميع المعلومات المهمة المتعلقة بالمعالجة مثل معرف العملية، والأولوية، والحالة، ومحتويات سجل وحدة المعالجة المركزية، إلخ.

ما هو الثريد Thread؟

الثريد هو وحدة تنفيذ وهو جزء من العملية، يمكن أن تحتوي العملية على سلسلة من متعددة الثريدز، يتم تنفيذها جميعها في نفس الوقت، إنها وحدة تنفيذ في البرمجة المتزامنة، الثريد خفيف الوزن ويمكن إدارته بشكل مستقل بواسطة المجدول (scheduler)، يساعدك استخدام الثريدز على تحسين أداء التطبيق الخاص بك.

خصائص العملية:

فيما يلي الخصائص المهمة للعملية:

  • يتطلب إنشاء كل عملية استدعاءات نظام منفصلة.
  • إنه كيان تنفيذي منعزل ولا يشارك البيانات والمعلومات.
  • تستخدم العمليات آلية الاتصال بين العمليات، والذي يزيد بشكل كبير من عدد استدعاءات النظام.
  • تتطلب إدارة العملية المزيد من استدعاءات النظام.
  • العملية لها مكدس، الذاكرة، وخريطة البيانات.

خصائص الثريد:

فيما يلي خصائص مهمة الثريد:

  • يمكن لاستدعاء النظام إنشاء أكثر من ثريد، حيث أن الثريدز تتشارك البيانات والمعلومات.
  • تتشارك الثريدز في مناطق العالمية (global) في البرنامج والتعليمات والذاكرة المؤقتة، ومع ذلك، لديها سجلها والمكدس.
  • تستهلك إدارة الثريد عددًا قليلاً جدًا من استدعاءات النظام، أو لا تستهلكها بسبب الاتصال بين الثريدز التي يمكن تحقيقها باستخدام الذاكرة المشتركة.

الفرق بين العملية والثريد:

هنا، أهم الاختلافات بين العملية والثريد:

النوع العملية الثريد
1.التعريف 

تعني أن البرنامج قيد التنفيذ.

يعني أن الثريد جزء من العملية.
2.الوزن الخفيف

ليست خفيفة الوزن.

خفيف الوزن.
3.وقت الإنهاء

تستغرق العملية وقتًا أطول للإنهاء.

يستغرق الثريد وقتًا أقل للإنهاء.
4.

وقت الإنشاء 

يستغرق المزيد من الوقت للإنشاء.يستغرق إنشاء وقت أقل.
5.

الاتصالات

يحتاج الاتصال بين العمليات إلى مزيد من الوقت مقارنة بالثريد.يتطلب الاتصال بين الثريدز وقتًا أقل مقارنة بالعمليات.
6.

وقت تبديل الـ Context

يستغرق التبديل المزيد من الوقت.يستغرق تبديل وقتًا أقل.
7.

الموارد

العملية تستهلك المزيد من الموارد.الثريد يستهلك موارد أقل.
8.

المعالجة بواسطة نظام التشغيل

يتم التعامل مع العمليات المختلفة بشكل منفصل بواسطة نظام التشغيل.يتم التعامل مع جميع الثريدز على أنها مهمة واحدة بواسطة نظام التشغيل.
9.

ذاكرة

العملية معزولة في الغالب.الثريدز تشترك في الذاكرة.
10.

المشاركة

لا تشارك البياناتالثريدز تشارك البيانات مع بعضها البعض.

المصدر: ? Process vs Thread: What's the differenceDifference between Process and ThreadWhat’s the Diff: Programs, Processes, and Threads


شارك المقالة: