process اجرای یک برنامه است و اقدامات مربوطه را که در یک برنامه مشخص شده است انجام می دهد یا یک واحد اجرایی است که یک برنامه در آن اجرا می شود هنگام شروع برنامه ، یک process شروع می شود. هر process مجموعه ای از منابع مانند virtual address space ، کد ها ، متن های امنیتی و غیره است. در حالی که thread اجرای برنامه ای است که توسط محیط یک process هدایت می شود و از منابع فرآیند برای انجام کار استفاده می کند همه thread ها درون یک برنامه واحد منطقی در یک فرآیند قرار می گیرند.
process ها می توانند چندین thread را شروع کنند. هر process با یک thread واحد به نام primary thread آغاز می شود.
thread ها به سه روش مختلف پیاده سازی می شوند:
thread های سطح هسته ، thread های سطح کاربر ، thread های ترکیبی.
همچنین thread ها می توانند دارای سه حالته در حال اجرا ، آماده و مسدود باشند
وقتی چندین thread فعال هستند ، یک thread باید دارای اولویت باشد
درنتیجه
فرآیندها برای دستیابی به اجرای برنامه ها به صورت همزمان و متوالی استفاده می شوند. در حالی که thread یک واحد اجرایی برنامه است که از محیط فرآیند استفاده می کند. سیستم عامل از این واقعیت برای کاهش سربار و بهبود محاسبات استفاده می کند.
مطالب بیشتر:
پیاده سازی Asynchronous به صورت Multi-Threaded