(۲۹ مرداد ۱۳۹۰ ۰۳:۳۷ ق.ظ)hatami84 نوشته شده توسط: بچهها یک تفاوتی بین همروندی و توازی هست اون را پیدا کنید و بعد به این سوال جواب بدید
همروندی در واقع به این معنیه که دو task بدون ترتیب خاصی شروع به کار کنند و خاتمه پیدا کنن یعنی مثلا اگه دو task با نام های a و b داشته باشیم ممکنه اول a شروع به کار کنه و خاتمه پیدا کنه بعد b شروع بشه یا برعکس . حالت بعد اینه که a یا b شروع به کار کنن به صورت یکی در میان به کارشون ادامه بدن تا خاتمه پیدا کنن . حالت آخر اینه که a و b
همزمان شروع به کار کنن و به طور همزمان پیش برن تا به پایان برسن که این دقیقا همون توازی هست. در نتیجه توازی حالت خاصی از همروندی هستش که مفهومش در multiprocessorها عینیت پیدا میکنه حالا اگه تو این سوال منظور در single core processor و صرفا ایجاد نخها روی یک cpu هست اونوقت گزینه ۲ بهترین گزینه هستش.
البته به طور کلی و اساسا نخها برای ایجاد توازی به کار نمیرن بلکه برای القای این حس به کاربر که taskها به طور موازی در حال اجرا هستن به کار میرن (و اینکه یه task لازم نباشه حتما تا پایان یه task دیگه منتظر بمونه وبین نخها مدام switching انجام میشه) و کلا استفاده از نخها اثری در زودتر اجرا شدن یک فرایند نداره مگر در multicore processor ها. یه نکته ای که لازمه اینجا مطرح کنم اینه که متاسفانه در برخی کتابای فارسی طوری مطلب در مورد نخها ذکر شده که برای حل این تست با خوندن اونها گزینه ۴ درست فرض میشه و مطلب اون طوری بیان شده که من در پست قبلیم نوشتم.
این نظر منه در مورد پاسخ حالا نمیدونم تا چه حد برداشتم درست باشه اگه اشتباه میکنم تصحیح بفرمایید.