درک برنامه نویسی موازی: راهنمای مبتدیان، بخش دوم

تاثیر RunLoops بر وظایف ناهمزمان

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

در آن مقاله، مفاهیم اساسی مانند “فرآیندها“و”رشته هاو به زبان ساده توضیح داد که پردازنده، سیستم عامل، فرآیند و رشته چیست.

امروز بیشتر توضیح خواهیم داد RunLoops و تاثیر آنها بر وظایف ناهمزمان.

اما ابتدا، بیایید دانش خود را در مورد چه چیزی تازه کنیم RunLoop است و مسئولیت آن چیست.

الف RunLoop به انجام وظایف ناهمزمان در زمان مناسب بدون مسدود کردن یا تداخل با رشته اصلی کمک می کند. این به عنوان یک چرخه مدیریت رویداد عمل می کند که برای برنامه ریزی وظایف و هماهنگ کردن رویدادهای دریافتی استفاده می شود. هدف آن فعال نگه داشتن نخ زمانی است که کاری برای انجام دادن وجود دارد و به حالت خوابیدن در زمانی که هیچ کاری وجود ندارد، آن را به حالت خواب درآورد.

همانطور که از مقاله قبلی می دانیم، چندین نوع اصلی معماری برای سازماندهی کد وجود دارد:

  • همزمان تک رشته ای

  • تک رشته ای ناهمزمان

  • چند رشته ای همزمان

  • چند رشته ای ناهمزمان

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

Source link