美文网首页
iOS GCD信号量

iOS GCD信号量

作者: 是超超呀 | 来源:发表于2021-05-27 15:24 被阅读0次

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

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

    创建信号量: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信号量

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