DispatchSemaphore 信号量的使用

2023-05-16  本文已影响0人  会飞的超大鱼

semaphore 叫做信号量,用来控制最大线程并发数,也可以将信号量设置为1,也就是控制最大线程并发数为1,从而达到线程同步的目的。

如果多个耗时操作想让他们依次执行,使用如下:

let semaphore = DispatchSemaphore(value: 1)

semaphore.wait()
DispatchQueue.global().async {
    print("执行了任务1")
    semaphore.signal()
}

semaphore.wait()
DispatchQueue.global().async {
    print("执行了任务2")
    semaphore.signal()
}

semaphore.wait()
DispatchQueue.global().async {
    print("执行了任务3")
    semaphore.signal()
}

 semaphore.wait()
DispatchQueue.global().async {
    print("执行了任务4")
    semaphore.signal()
}

semaphore.wait()
DispatchQueue.global().async {
    print("执行了任务5")
    semaphore.signal()
}
上一篇 下一篇

猜你喜欢

热点阅读