همروندی (علوم رایانه)

هم‌رَوی[۱] یا همروندی یا هم‌زمانی (به انگلیسی: Concurrency) در علوم رایانه، همان توانایی بخش‌ها یا واحدهای مختلف یک برنامه، الگوریتم، یا مساله برای «اجرای نامرتب یا با ترتیب جزئی» است که این اجرا، «روی نتیجه نهایی نباید تاثیر بگذارد». این موضوع، اجرای موازی واحدهای همرو را امکان‌پذیر می‌سازد، که می‌تواند به صورت قابل ملاحظه‌ای، سرعت کلی اجرا را در سامانه‌های چندپردازنده‌ای و چندهسته‌ای بهبود دهد. به صورت فنی‌تر، همروندی به ویژگی تجزیه‌پذیری یک برنامه، الگوریتم، یا مساله به مولفه یا واحدهای مستقل از ترتیب یا جزئاً مرتب اشاره دارد.[۲]

غذاخوردن فیلسوفان، یکی از مسایل معروف همروندی که با سمافور حل می‌شود.

همروندی در علوم رایانه در سامانه‌هایی پیش می‌آید که در آن‌ها چند پردازش محاسباتی همزمان اجرا می‌شوند و با یکدیگر اندرکنش دارند (ناحیه بحرانی دارند). مطالعه همروندی محدوده وسیعی از سامانه‌ها را دربرمی‌گیرد، از سامانه‌های رایانش موازی سخت-درگیر و بسیار همزمان گرفته تا سامانه‌های توزیع‌شده ناهمزمان سست-درگیر.

جستارهای وابسته ویرایش

منابع ویرایش

  1. «هم‌رَوی» [رایانه و فناوری اطلاعات] هم‌ارزِ «concurrency»؛ منبع: گروه واژه‌گزینی. جواد میرشکاری، ویراستار. دفتر ششم. فرهنگ واژه‌های مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۷۸-۹۶۴-۷۵۳۱-۸۵-۶ (ذیل سرواژهٔ هم‌رَوی)
  2. Lamport, Leslie (July 1978). "Time, Clocks, and the Ordering of Events in a Distributed System" (PDF). Communications of the ACM. 21 (7): 558–565. doi:10.1145/359545.359563. Retrieved 4 February 2016.