_Concurrency

並列処理
フレームワーク
具体例
Empty
2024/01/10 12:58
Empty
Empty
Empty
Empty
A 覚えることで習得可能
Z 滅多に必要のない知識
7 more properties
async: 非同期処理の宣言
await: 非同期処理の実行。インラインで同期的に記述できる
actor: データ競合を守る型の宣言
Task:
@sendable
:
@MainActor
: メインスレッドでの実行を強制する
Task { // Thread A let a = 10 let r = await action(v: a) // Thread B print(r) // 戻ってきた時に Thread A とは限らない }
Task { @MainActor in let a = 10 let r = await action(v: a) print(r) // @MainActor メインスレッドでの実行が保証される }
DispatchQueue の場合
do { // このブロックの中は Thread A let a = 10 let r = DispatchQueue.global().sync { [a] in return a * 2 // Thread B } print(r) }