برو به محتوای اصلی
مزدک صدقی
مدیر مارکتینگ و شبکه‌های اجتماعی
۶ ماه پیش پرسیده شده

Concurrency و Parallelism چه تفاوت‌هایی باهم دارند؟

من کجام؟ اینجا کجاست؟

در جوابکو می‌تونید در مورد هر موضوعی سوال کنید، به سوالای بقیه جواب بدید و تجربتون رو به اشتراک بگذارید!

نیکلاس

فرض کنید شما دوتا process دارین که همزمان در حال اجرا هستن. مثلا P1 و P2.

Two Processes
Two Processes

داخل پارالل میبینن که این دوتا فرایند کاملا مستقل از همدیگه اجرا میشن ینی هر کدومشون روی یه هسته سی پی یو بصورت مستقل اجرا میشه. ولی داخل کارنکارنسی این دوتا فرایند روی یه هسته اجرا میشن و درسته که هردو در حال اجرا هستن ولی میبینن که جاهایی که مثلا P1 فعاله P2 غیر فعاله یعنی سوئیچ میشه بینشون و همزمان هردو باهم نمیتونن فعال باشن. خیلی از زبونا هستن که کانکارنسی دارن و شما میتونین thread‌های زیادی ایجاد کنید ولی درواقع همشون داخل یه هسته سی پی یو و به این شکل اجرا میشن ولی زبونایی که پاراللی پشتیبانی کنن متفاوته.

Queues
Queues

اینجا هم مشخصه که میبینین داخل کانکارنسی دوتا صف داریم ولی یه ماشین داره به هر دو رسیدگی میکنه. یکی از این صف یکی از اون. ولی پارالل دوتا ماشین بصورت مستقل دوتا صف رو رسیدگی میکنن.