假设我有一个代码:
func someMethod() async {
... // processing 1
let someProperty = await someService.callSomeMethod()
... // processing 2
}
Run Code Online (Sandbox Code Playgroud)
从 WWDC 可以清楚地看出, await 之前和之后执行的代码可以在不同的线程上执行。
但是如果我想保证单线程执行怎么办?
很明显,如果我们谈论的是到主线程的强制上下文切换,那么用@MainActor属性指定方法就足够了,但是假设我想将自己与特定线程隔离,对我来说唯一重要的是,someMethod是在一个上下文中执行的吗?(处理1和处理2具有相同的上下文)
简而言之,swift中有一些类似的ConfigureAwait(c Sharp)?