面试题答案
一键面试在Swift并发编程中,可以使用以下方式使用Task
创建新的异步任务:
let task = Task {
// 这里是异步任务要执行的代码
let result = await someAsyncFunction()
print(result)
}
Task
创建时传入的闭包参数会在Task
开始执行时被执行。其执行线程情况如下:
- 若在主线程中创建
Task
,闭包内的代码默认不会在主线程执行,除非使用@MainActor
修饰闭包或在闭包内使用await MainActor.run { }
切换回主线程。 Task
会在合适的线程池中执行闭包代码,具体线程由Swift的并发调度机制决定,以实现高效的异步处理。