[WWDC2022] What's new in Swift - Concurrency Updates

Minseok, Kim·2022년 6월 8일
0

Actor, Async/Await Back deploy.

Async/Await등의 Concerrency 기능들을 이제는 더 낮은 버전부터 사용가능.

  • macOS 10.15(catalina)
  • iOS13
  • tvOS13
  • watchOS6

Data race avoidance

Swift는 data race가 발생하여 memory safety하지 않은 지점들을 알려줘왔었고,
작년에는 Actor등을 도입하여 data race를 방지 할 수 있는 방법들을 제공해 왔다.
Swift의 최종목표는 memory safety를 넘어서 thread safety로, 올해에는 작년보다 더 다양한 concerrency 방법들을 제공할 예정이라고 한다.

자세한 내용은 Eliminate data races using Swift Concerrency 세션 참조.

Distributed actors

분산 시스템을 위한 Distributed Actor가 추가됨.
고립성과 위치 투명성을 통해서 네트워킹등의 우발적 복잡성등을 피하는데 도움을 주는 역할을 한다고 함.

자세한 내용은 Meet distributed actors in Swift 세션 참조.

Async algorithms

swift5.5에서 제공하는 AsyncSequence를 더 쉽게 처리하기 위한 솔루션으로 새로운 오픈소스 알고리즘 세트를 공개함.
zip(), merge(),debounce(),chunked()등을 제공하며 자세한 내용은 Meet Swift Async Algorithms세션 참조

Actor prioritization(concurrency optimization)

이제부터 ActorActor prioritization을 통해서 우선순위가 높은 작업부터 수행함.

Swift Concurrency Instrument

일반적으로 concurrency가 앱의 성능에 미치는 영향등을 시각화하기 어려움.
이를 해결할 concurrency 시각화 도구인 Swift Concurrency Instrument가 추가됨.

자세한 내용은 Visualize and optimize Swift concurrency세션 참조.

참고자료

profile
iOS, Swift Dev

0개의 댓글