Swiftの並行処理について
2021年6月7日
![](https://devimages-cdn.apple.com/wwdc-services/articles/images/69D7450E-2EBA-4DC7-A0CA-0B961772822F/2048.jpeg)
Swiftにおける非同期および並行プログラミングのパワーをご覧ください。async/awaitは、 完了ハンドラなどを使用する非同期関数を、より読みやすく、より正確に変換します。複数のタスクを同時に実行するための構造化された様々な種類の並行処理を紹介します。Swiftのactorを使用することで、データ競合のないコードを維持します。
![](https://devimages-cdn.apple.com/wwdc-services/images/119/5033/5033_wide_250x141_2x.jpg)
Swiftのasync/awaitについて
![](https://devimages-cdn.apple.com/wwdc-services/images/119/5035/5035_wide_250x141_2x.jpg)
Swiftにおける構造化並行処理
![](https://devimages-cdn.apple.com/wwdc-services/images/119/5034/5034_wide_250x141_2x.jpg)
Swiftアクターによるミュータブルステートの保護
サンプルアプリの更新
要点を学んだら、それを実践してみましょう。以前のWWDCのサンプルAppをアップデートし、Swiftの並行処理を採用する方法をご紹介します。
![](https://devimages-cdn.apple.com/wwdc-services/images/119/5105/5105_wide_250x141_2x.jpg)
Swiftの並行処理: サンプルAppの更新
AsyncSequenceの紹介
時間をかけて到着する一連の値がある場合、新しい"for await"構文を使用して、複数の値を繰り返し処理することが可能になりました。
![](https://devimages-cdn.apple.com/wwdc-services/images/119/4948/4948_wide_250x141_2x.jpg)
AsyncSequenceについて
Appleプラットフォーム間での並行処理の実現
システム全体で何百ものAPIが更新され、async/awaitがサポートされています。毎日使っているフレームワークがSwiftの並行処理のためにどのように改良されたかをご覧ください。
![](https://devimages-cdn.apple.com/wwdc-services/images/119/4885/4885_wide_250x141_2x.jpg)
SwiftUIでの並行処理
![](https://devimages-cdn.apple.com/wwdc-services/images/119/4990/4990_wide_250x141_2x.jpg)
URLSessionにおけるasync/awaitの使用
![](https://devimages-cdn.apple.com/wwdc-services/images/119/4883/4883_wide_250x141_2x.jpg)
SwiftとSwiftUIへのCore Dataの並行処理の導入
Swift Concurrency: 舞台裏
Swiftの並行処理の詳細を深く掘り下げ、Swiftがデータ競合やスレッド数の爆発からどのように安全性を高め、同時にパフォーマンスを向上させるかを発見します。SwiftのタスクのGrand Central Dispatchとの相違点、新しい協調スレッドモデルのしくみ、そしてアプリの最高のパフォーマンスを確保する方法を探ります。
![](https://devimages-cdn.apple.com/wwdc-services/images/119/5175/5175_wide_250x141_2x.jpg)