如何知道在iOS中完成2个并行线程请求的时间

时间:2018-02-20 10:19:44

标签: ios

例如。我有两个单独的请求,并且都在不同的线程中运行,那么我如何知道它们都已完成请求并完成。

2 个答案:

答案 0 :(得分:2)

See below implementation , This can help you in detail:

let queue = DispatchQueue(label: "com.learn.swift", attributes: .concurrent, target: .main)
let group = DispatchGroup()

group.enter()
queue.async (group: group) {
    print("1st Thread")
    group.leave()
}

group.enter()
queue.async (group: group) {
    print("2nd Thread")
    group.leave()
}
group.notify(queue: DispatchQueue.main) {
    print("All done")
}

Output:

1st Thread

2nd Thread

All done

答案 1 :(得分:1)

您可以在此处使用dispatch_group。使用dispatch_enter进入群组,然后使用dispatch_leave离开。两者都可以通过dispatch_group_notify

通知