主线程在iOS中异步或同步运行?请用例子说明

时间:2017-03-26 05:48:44

标签: ios

主线程是否在iOS中异步或同步运行?主线程是否在iOS中异步或同步运行

3 个答案:

答案 0 :(得分:5)

你的问题没有意义。

线程不会同步或异步运行。任务被分派到线程上。

队列是一个串行调度队列,因此它一次只执行一个任务,并且该任务总是在主线程上执行。可以同步或异步地将任务添加到主队列(实际上是任何队列),这是您的问题的问题;同步或异步调度与调度新任务的任务相关。

答案 1 :(得分:0)

主线程同步运行。应在主线程上执行所有与UI相关的操作。

下载或上传等服务器调用应异步执行(在后台线程上)。

答案 2 :(得分:0)

我认为问题不在于主线程如何运行,而是你如何运行它。例如 - 主调度队列(在主线程上运行)可以引用为sync或async:

DispatchQueue.main.async {

    print("async on the main thread")

}

DispatchQueue.main.sync {

    print("sync on the main thread")

}