美文网首页
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