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);
场景:方法二要在方法一执行结束后才能执行。
执行结果先创建信号量,任务一执行结束后,会发送信号量,在收到信号量之前,任务二一直处于等待的状态。