0
1

図解 Swift Concurrency

Posted at

この記事について

注意

あくまで私の解釈です。
間違っているところがあるかもなので、その際には指摘してほしいです。

目的

  • Swift Concurrencyの全体像を把握する
  • 主な登場人物とその役割を把握することで、今後のSwiftConcurrencyについての学習をよりしやすくする
  • Swift.orgの一部を抜粋し図解する

離さないこと

  • 細々としたコーディングの仕方
  • Swift Concurrency外のこと
    • Architectureなど
    • SwiftUI or UIKitの画面との繋ぎこみ

まずは図から

Swift Concurrency 全体像.jpg

  • Task: スレッドのイメージ
  • actor: Task同士でデータを共有するオブジェクト
  • Sendable: actorにデータを受け渡すためのオブジェクト

Swift Concurrencyの目的

非同期処理を並列に実行すること。
並列実行において

  • それぞれの処理を完全に分離させること
  • 値の競合を起こさせないこと

主な登場人物

Task

  • 非同期処理を実行する
  • Taskを起こすことで処理を完全に分けて実行できる

actor

  • Taskで処理を分けたとしても、Task同士で値をやり取りしたい場合がある。その両者からのアクセスをできるようにする役割を持つ

Sendable

  • Task間で安全にデータを渡すために使用する
  • 参照型のオブジェクトだと競合などの問題を回避できない
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1