MST

星途 面试题库

面试题:Swift并发编程中的任务创建与调度

在Swift并发编程中,如何使用`Task`来创建一个新的异步任务?并说明`Task`创建时传入的闭包参数的执行时机与线程情况。
41.4万 热度难度
编程语言Swift

知识考点

AI 面试

面试题答案

一键面试

在Swift并发编程中,可以使用以下方式使用Task创建新的异步任务:

let task = Task {
    // 这里是异步任务要执行的代码
    let result = await someAsyncFunction()
    print(result)
}

Task创建时传入的闭包参数会在Task开始执行时被执行。其执行线程情况如下:

  • 若在主线程中创建Task,闭包内的代码默认不会在主线程执行,除非使用@MainActor修饰闭包或在闭包内使用await MainActor.run { }切换回主线程。
  • Task会在合适的线程池中执行闭包代码,具体线程由Swift的并发调度机制决定,以实现高效的异步处理。