TGViewer
iOS Dev iOS Dev @iosdev · 7.92K subscribers
Post #1200 4.17K
Dispatch Barrier, потокобезопасность и почему слишком много очередей это плохо

Параллельные и последовательные очереди помогают нам управлять выполнением задач, а вместе с этим позволяют нашим приложениям работать быстрее, эффективнее и с улучшенной отзывчивостью.

Мы можем легко создавать очереди, используя класс DispatchQueue, который построен на основе GCD.

🔒 Dispatch Barrier представляет собой механизм синхронизации задач в очереди.

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

🍏 В iOS IQ я добавил мощный материал, который поможет разобраться с барьерами на примерах. Постарался вынести не только плюсы, но и возможные минусы чрезмерного использования, и почему оптимизация может оказаться обманчивой.

А ещё там есть несколько десятков вопросов, доступных уже сейчас.

➡️ Подписаться можно здесь.

😃 iOS Dev
  • 💯 5
  • 👍 4
  • 🔥 3
  • 🏆 2
  • ✍ 1
  • ⚡ 1
  • 🎉 1
  • 🎄 1
  • 🆒 1
More from @iosdev
  1. Oct 1, 2026SwiftUI Charts и динамическое маскирование Одним из применений для диаграмм является разны…
  2. Sep 29, 2026⚡️Сегодня ночью десятки тысяч приложений массово начали крашиться из-за либы для аналитики…
  3. Sep 28, 2026От pbxproj к xcproj: разбор конфигураций проекта 📖 В этой статье можно посмотреть на новы…
  4. Sep 25, 2026Симулятор iPhone Duo: тестирование и оптимизация приложения Как только был анонсирован iPh…
  5. Sep 24, 2026Настоящая причина, почему на презентации не показали, как выглядит звонок с iPhone Duo. 😃…
  6. Sep 23, 2026Работа с тулбарами на iPhone Duo На iPhone Duo элементы управления навигацией, тулбар-экшн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →