美文网首页
iOS GCD dispatch_semaphore

iOS GCD dispatch_semaphore

作者: 记lu点滴 | 来源:发表于2017-09-29 11:11 被阅读0次


    例如


    dispatch_semaphore_t semaphore = dispatch_semaphore_create(10);

    参数为10,可以理解为信号总量为10


    dispatch_semaphore_signal(semaphore);

    发送一个信号,会让信号量总量为+1


    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);

    每次调用会使信号总量-1,当信号总量小于等于0时,线程会等待(就是阻塞);当线程在等待时,再次调用dispatch_semaphore_signal(semaphore)时会使线程继续往下执行(就是通畅)。



    练习理解:

    相关文章

      网友评论

          本文标题:iOS GCD dispatch_semaphore

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