iOS GCD信号量

2021-05-27  本文已影响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);

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

执行结果

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

上一篇下一篇

猜你喜欢

热点阅读