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