Explore structured concurrency in Swift
https://developer.apple.com/videos/play/wwdc2021/10134
❗️Главное:
1. Виды task в swift: async let, group, unstructered (Task), detached (Task.detached)
2. Swift оптимизировал выполнение
3. Проверить отмену таски можно через
4. ❌ Выполнение async-await не thread-safe!
5. Unstructered task -
6. Detached task - в каком-то смысле аналог запуска очереди с qos:
#readthis
https://developer.apple.com/videos/play/wwdc2021/10134
❗️Главное:
1. Виды task в swift: async let, group, unstructered (Task), detached (Task.detached)
2. Swift оптимизировал выполнение
async-await
, например, если в guard
два условия и оба вычисляются через await
, то в случае, если одно из условий не выполняется, то второе вычисляться не будет.3. Проверить отмену таски можно через
Task.isCancelled
4. ❌ Выполнение async-await не thread-safe!
5. Unstructered task -
Task {}
- в каком-то смысле аналог DispatchQueue.global().async {}
6. Detached task - в каком-то смысле аналог запуска очереди с qos:
DispatchQueue.global(qos: .background).async{}
- пример использования: сохранение кэша или в coredata#readthis
Apple Developer
Explore structured concurrency in Swift - WWDC21 - Videos - Apple Developer
When you have code that needs to run at the same time as other code, it's important to choose the right tool for the job. We'll take you...