چالش های همگام سازی در Multithreading | HackerNoon

من بوریس دوبرتسف هستم، و این قسمت ششم از مجموعه‌ای است با عنوان درک برنامه‌نویسی موازی: راهنمایی برای مبتدیان.

اگر پنج قسمت اول را نخوانده اید، نگاهی بیندازید درک برنامه نویسی موازی: راهنمایی برای مبتدیان، درک برنامه نویسی موازی: راهنمای مبتدیان، بخش دوم، درک Threads برای مدیریت بهتر Threading در iOS، درک برنامه نویسی موازی: مدیریت موضوعات برای مبتدیان، چگونه کتابخانه Grand Central Dispatch به سازماندهی موضوعات کمک می کند.

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

بارگذاری وظایف فشرده UI به موضوع پس زمینه

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

این مثال را در نظر بگیرید: رندر کردن نمای جدول با تصاویر، اعمال یک افکت تاری برای هر تصویر.

override func tableView(_...

Source link