Burt.K

Awesome Discovery

Swift 모던 컨커런시 - 정리 및 감사의 말

작성일 — 2025년 10월 25일

Table of Contents

https://www.andyibanez.com/posts/modern-swift-concurrency-summary-cheatsheet-thanks/

WWDC21 이후, Swift 5.5에 도입된 새로운 컨커런시 기능에 대해 깊이 있게 다뤘다. 다루어진 주제가 많아 이 시리즈를 마무리하며 각 글의 핵심 내용을 요약하는 글을 작성하기로 했다. 필요한 경우 관련 글의 링크를 제공해 더 자세한 정보를 확인할 수 있도록 했다.

async/await 이해하기

async/await에 대해 더 알고 싶다면 Swift에서 async/await 이해하기 글을 참고하자.

델리게이트와 클로저 기반 코드를 async/await로 변환하기

클로저 또는 델리게이트 기반 코드를 async/await로 변환하는 방법에 대해 더 알아보려면 Swift에서 클로저 기반 코드를 async/await로 변환하기 글을 참고하라.

구조화된 동시성(Structured Concurrency)

async let을 이용한 동시성 처리

async let을 활용한 구조적 동시성에 대해 더 알고 싶다면 Structured Concurrency in Swit: Using async let 글을 참고하라.

그룹 태스크 활용 방법

전송 가능 타입(Sendable Types)

Group Tasks와 전송 가능 타입에 대해 더 자세히 알고 싶다면 다음 글을 참고하기 바란다:
Swift에서 Task Groups를 활용한 구조화된 동시성
Swift의 새로운 동시성 모델에서 액터 이해하기

태스크 트리

구조적 동시성(async let과 태스크 그룹 모두에서)의 중요한 개념이 바로 태스크 트리이다.

태스크 트리에 대해 더 알고 싶다면 Swift에서 구조적 동시성: async let 사용하기 글을 참고하자.

비구조적 동시성

비구조적 동시성은 작업의 흐름이 정해진 절차를 따르지 않을 때 유용하다. 특이한 실행 흐름을 크게 줄이는 데 도움이 되며, 구조적 동시성보다 더 많은 제어 권한을 제공한다.

비구조적 동시성을 구현하는 두 가지 방법이 있다: Task 호출과 Task.detached를 이용한 분리된 태스크.

태스크(Task)

비정형 동시성(Unstructured Concurrency)과 태스크에 대해 더 알고 싶다면 Swift의 비정형 동시성 소개 글을 참고한다.

독립 실행형 태스크

독립 실행형 태스크에 대해 더 알아보려면 Swift에서 독립 실행형 태스크를 이용한 비정형 동시성 처리 글을 참고한다.

액터 모델

Swift의 새로운 동시성 모델에서 액터 이해하기

@MainActor와 글로벌 액터

특정 메서드의 액터를 재정의할 수도 있다.

@MainActor
class GameLibraryViewController: UIViewController {
   @MediaActor func doThisInAnotherActor() {}
}

Swift의 @MainActor와 글로벌 액터

@TaskLocal을 활용한 태스크 간 데이터 공유

새로운 Swift 동시성 모델에서 @TaskLocal 프로퍼티 래퍼로 태스크 간 데이터 공유하기

AsyncSequence와 AsyncStream

Swift에서 AsyncSequence 사용하기

감사의 말

이 시리즈의 글들은 제가 2019년에 웹사이트를 재개장한 이후 가장 많이 방문된 페이지 중 하나가 되었습니다. 그 덕분에 커뮤니티 구성원들로부터 많은 피드백을 받을 수 있었습니다.

오타나 어색한 문장 표현에 대해 제게 알려주신 모든 분들께 감사 인사를 드리고 싶습니다. 여러분의 의견과 코멘트를 바탕으로 글의 질을 높이기 위해 많은 노력을 기울였습니다. 여러분 덕분에 이 시리즈의 완성도가 크게 향상되었습니다.

정말 많은 이메일을 받았는데, 연락 주신 분들이 너무 많아서 일일이 이름을 언급하기 어려울 정도입니다. 제 블로그의 질을 높이는 데 도움을 주신 모든 분들께 진심으로 감사드립니다. 또한 답장을 드리지 못한 분들께는 사과의 말씀을 전합니다. 이메일이 너무 많아서 누구에게 답장을 보냈는지 놓치는 경우가 있었습니다.

특별히 한 분을 이름으로 언급하고 싶은데, 이 분은 시리즈의 모든 글을 꼼꼼히 검토하고 매우 상세한 개선 사항을 담은 긴 이메일을 보내주셨습니다. 이 분의 이메일을 받을 때마다 수정 사항을 반영하는 데 많은 시간을 할애했지만, 그 모든 노력은 결실을 맺었습니다. 이 시리즈는 제가 가장 자랑스러워하는 작품 중 하나가 되었습니다. 그 분은 Dennis Birch입니다. Dennis 덕분에 이 글 시리즈가 제가 가장 애정하는 작품 중 하나가 될 수 있었습니다. 정말 큰 감사를 드립니다.