RU
iOS Dev IQ
iOS Dev IQ
240 подписчиков

Dispatch Barrier, потокобезопасность и почему слишком много очередей это плохо

Параллельные и последовательные очереди помогают нам управлять выполнением задач и помогают нашим приложениям работать быстрее, эффективнее и с улучшенной отзывчивостью. 
Мы можем легко создавать очереди, используя класс DispatchQueue, который построен на основе GCD.
🔒 Dispatch Barrier представляет собой механизм синхронизации задач в очереди. 

Если по дефолту очередь работает параллельно, то после добавления флага .barrier такая задача будет отложена, пока не выполнятся все остальные. 
Уже после этого очередь выполнит нашу задачу, помеченную барьером, самостоятельно, и вернётся к обычному режиму работы.
🍏 В базе знаний я добавил мощный материал, который поможет разобраться с барьерами на примерах.
Постарался вынести не только плюсы, но и возможные минусы чрезмерного использования, и почему оптимизация может оказаться обманчивой.
А ещё там есть несколько десятков вопросов, доступных уже сейчас.

Уровни подписки

Нет уровней подписки
Наверх