TASK 2

Swift Concurrency #3 - Task cancellation과 hierarchy 심화

WWDC23: Beyond the basics of structured concurrency | Apple들어가며Swift Concurrency를 공부하면서 Task.cancel()을 호출하면 모든 작업이 즉시 멈춘다고 막연히 생각하고 있었다.그런데 WWDC 세션 “Beyond the basics of structured concurrency”를 보면서 내가 이해하고 있던 cancellation 모델이 꽤 단순했다는 걸 알게 됐다. 이번 글에서는 Task cancellation이 실제로 어떻게 전파되고, 왜 ‘cooperative’하다고 말하는지, 그리고 그로 인해 등장한 withTaskCancellationHandler까지 헷갈렸던 포인트 위주로 정리해보려고 한다.Task hierarchy와 cance..

Swift 2026.01.14

Swift Concurrency #2 - Structured Concurrency와 Task

WWDC21: Explore structured concurrency in Swift | Apple Swift Concurrency 를 공부하다보면 async-await 외에도 자주 접하는게 Task 라는 녀석이다. 그런데 이게 익숙하지 않던 개념이어서 그런지 확실히 머릿속에 정리하기가 쉽지 않았다. Task { } ?아마 한번이라도 Swift Concurrency 를 시도했던 사람이라면 Task {} 를 본적이 있을 것이다.이 initializer의 용도는 "비동기 코드(async 함수)를 실행하기 위한 새로운 실행 컨텍스트를 제공한다." 라고 한다. 원래 작성되어있던 프로젝트 코드에서 async 함수를 호출하고 싶을 때 냅다 그냥 async 함수를 호출하면 오류가 나는데, async 함수를 Task ..

Swift 2025.10.01