TGViewer
iOS Dev iOS Dev @iosdev · 7.91K subscribers
Post #1852 4.01K
Универсальность использования Tasks в Swift

Если вы уже давно занимаетесь разработкой для платформ Apple, ваше понимание «параллелизма» может уходить корнями к эпохе Grand Central Dispatch. А если вы в разработке для яблочных девайсов ещё дольше, то как заметил Макс Зелеманн, то даже и к pthreads.

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

📖 Вот выводы, к которым в итоге пришёл автор статьи (но рекомендую посмотреть и сам пост):

➡️ В своей простейшей форме они представляют собой замыкания для длительных операций в фоне.

➡️ Они предоставляют асинхронный контекст, позволяя вызывать асинхронный код.

➡️ Если хранить дескриптор, можно ждать завершения в другом месте или отменить задачу вовсе, когда она больше не нужна.

➡️ Если вы передаете дескриптор задачи, он служит в качестве промиса (будущего) для значения результата.

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


😃 iOS Dev
  • 🔥 11
  • 👏 6
  • 👍 3
More from @iosdev
  1. Oct 5, 2026iPhone Duo UIKit Q&A: большая подборка ответов от инженеров Apple 📖 В своём блоге Антон с…
  2. Oct 1, 2026SwiftUI Charts и динамическое маскирование Одним из применений для диаграмм является разны…
  3. Sep 29, 2026⚡️Сегодня ночью десятки тысяч приложений массово начали крашиться из-за либы для аналитики…
  4. Sep 28, 2026От pbxproj к xcproj: разбор конфигураций проекта 📖 В этой статье можно посмотреть на новы…
  5. Sep 25, 2026Симулятор iPhone Duo: тестирование и оптимизация приложения Как только был анонсирован iPh…
  6. Sep 24, 2026Настоящая причина, почему на презентации не показали, как выглядит звонок с 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 →