iOS GCD信号量

时间:2021-6-12 作者:qvyue

信号量:多线程环境下的一种保护措施,保证两个或多个代码不会被并发调用。

应用场景:在多线程并发的场景,通过控制信号量来保证操作的同步。即实现异步线程完成同步操作。

创建信号量:dispatch_semaphore_create(long value)  value=0 仅仅创建了个信号量;value>0 创建信号量并发出信号。

发送信号量:dispatch_semaphore_signal(dispatch_semaphore_t dsema);

等待信号量:dispatch_semaphore_wait(dispatch_semaphore_t dsema, dispatch_time_t timeout);

场景:方法二要在方法一执行结束后才能执行。

iOS GCD信号量
iOS GCD信号量
执行结果

先创建信号量,任务一执行结束后,会发送信号量,在收到信号量之前,任务二一直处于等待的状态。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。