[iOS] 동시성 프로그래밍(11) - Unstructured Concurrency
2023. 2. 22. 18:15
iOS/iOS
저번 포스팅에서 살펴보았던 Structured Concurrency는 Task는 부모 - 자식 관계를 통해 계층구조로 이루어져 있다. 하지만, 특정 Task에는 structured pattern이 없는 경우가 있다. 대표적인 예로, 동기 context에서 실행되는 비동기 작업들은 Parent Task가 존재하지 않는다. 이러한 경우에 Swift에서는 Unstructured Concurrency를 제공한다. Unstructured Concurrency Unstructured Task들은 life time이 그들의 scop보다 오래 존재할 수 있다. 이미지를 다운로드 Task가 있고, 이 Task를 중간에 cancel 시켜 다운로드를 취소시킬 수 있는 기능을 제공할 수 있다. 또한, Parent Task가 ..