美文网首页
DispatchSemaphore 信号量的使用

DispatchSemaphore 信号量的使用

作者: 会飞的超大鱼 | 来源:发表于2023-05-16 12:49 被阅读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()
}

相关文章

网友评论

      本文标题:DispatchSemaphore 信号量的使用

      本文链接:https://www.haomeiwen.com/subject/hefbsdtx.html