主线程是否在iOS中异步或同步运行?主线程是否在iOS中异步或同步运行
答案 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")
}