Swift-Concurrency

A collection of 3 posts
Concurrency|Swift 6.2 让并发更容易控制
Swift-Concurrency

Concurrency|Swift 6.2 让并发更容易控制

Swift Concurrency 实际上包含异步和并发两个部分,他们是不同的概念: * 异步:async/await 语法,让代码不阻塞当前线程,后续代码可以继续执行。 * 并发:使用 Task 与 Actor 等并发原语,控制任务在哪个线程执行。 以下是关于 Swift Concurrency 的几个核心: 1 - 使用异步,并不意味着一定在后台线程执行 实际上,在大部分情况下,任务仍然在调用它的线程中执行 —— 这避免了数据竞争的问题,但仍然可能运行卡顿。 对于耗时但轻量级的任务,使用异步能很好的解决卡顿问题,最常见的场景是处理网络请求。然而,对于一些非常消耗性能的繁重任务,如果在主线程执行,即使使用异步语法,也会导致运行卡顿 —— 因为主线程资源可能被耗尽。 2 - 可以使用 Task 控制任务执行的线程 理想情况下,对于繁重的任务,应当将它从主线程剥离分派到后台线程执行,从而保证 App 界面运行流程
3 min read