WithCheckedContinuation的主体将在后台线程上运行,以防从主要参与者开始
并发延续重现
Xcode 14.0 和 14.1 之间的并发行为差异
在 Xcode 14.1 上
withCheckedContinuation
的主体将在后台线程上运行,以防从主要参与者开始。
这种情况仅在iOS 15之前发生。所以 13.x 和 14.x 在 Xcode 14.1 中就有这种情况。 这些操作系统版本是并发反向部署的目标。
Task { @MainActor () -> Void in
await withCheckedContinuation { c in
// >= iOS 15 : on main-thread
// < iOS 15 : on background-thread
c.resume()
}
}
Until Xcode 14.0(also 14.0.1) is fine.
Related
https://twitter.com/kylehickinson/status/1582471814843883535