اگه میخواید دقیق تر صحبت کنید ، واژه ی نرم افزار را فراموش کنید . پروسه و سرویس مهم هست (البته در اصطلاح تخصصی تر ، پروسه هم برای پردازنده قابل درک نیست و نخ و method مهم هست (البته باز هم داستان هایی داره) که در ادامه ، کلیات را میگم) .برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید ارسالی توسط rbm برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
هر پروسه یا سرویس ، میتونه حداقل ، یک ، تا چندین نخ داشته باشه .
هر نخ ، میتونه در هر هسته ی مجزا پردازش بشه (نه اینکه حتما در هسته ی مجزا پردازش میشه) . اینکه هر نخ در هر هسته ی مجزا پردازش بشه یا نه ، به چندین عامل مختلف بستگی داره .
هر نخ ، میتونه در یک لحظه ، کد (method یا تابع) ای برای اجرا داشته باشه یا نداشته باشه . اگه در یک لحظه ، کدی برای اجرا نداشته باشه ، خوب پردازشی در اون لحظه اصلا لازم نداره و اگه داشته باشه که در اون لحظه پردازش لازم داره .
همچنین اینکه اگه کد (method یا تابع) برای پردازش داشته باشه ، بسته به میزان سنگینیِ اون کد ، پردازشش هم میتونه خیلی سنگین (در حد ساعت ها پردازش مثل اغلب رندرهای 3 بعدی که سنگین هستن و ساعت ها طول میکشن) یا خیلی سبک (در حد حتی چند میکرو ثانیه یا میلی ثانیه ، مثل خیلی از پروسه ها و سرویس های ویندوز) باشه .
==========
همین الان ، یعنی زمانی که هیچ کاری با کامپیوتر نمیکنین و فقط ویندوز بالا اومده بدون اینکه هیچ نرم افزاری را اجرا کنید ، چند ده پروسه و سرویس در حال اجراست اما ممکنه پردازنده توی حتی اگه 2 هسته ای هم باشه ، لود خیلی پایینی (فرضا بصورت میانگین ، لودِ زیر 10 درصد) داشته باشه .
تخصصی تر اینکه پروسه را هم رها کنید . در همین حالت ، در سربرگ Performance ئه Task Manager ، در بخش CPU که برید ، در قسمت اطلاعاتش (در سمت راست) گزینه ی Threads نوشته هست که معمولا حتی اگه فقط ویندوز بالا اومده باشه (معمولا Windows 10 X64) ، در این حالت ، حدود 1000 تا نخ (thread) (یا کمتر یا بیشتر) داره که مدام کم و زیاد میشه .
در این حالت ، با وجود اینکه 1000 تا نخ در حال اجراست ، اما باز میبینید که در اغلب اوقات ، لود پردازنده ی حتی 2 هسته ای خیلی کم هست (فرضا اغلب زیر 10 درصد) .
چرا؟
چون خیلی از این نخ های در حال اجرا (در لحظه ای که فقط ویندوزتون بالا اومده) ، در اغلب اوقات ، یا کد (method یا تابع) ای برای اجرا ندارن یا کد و method ئه بسیار سبکی دارن (پردازش در حد چند میکرو یا چند میلی ثانیه دارن) .
==========
پس جواب سئوال تون (بصورت کلی ، نه خیلی جزئی و تخصصی) اینه که بستگی به تعداد نخ ها و مخصوصا سنگینیِ کدهای اون نرم افزارها و در واقع سنگینیِ method هاشون داره که چقدر پردازش شون طول بکشه داره .






پاسخ با نقل قول
Bookmarks