当使用大于 0 的值创建信号量时,我在使用 dispatch_semaphore_wait(..) 时遇到问题
sema = dispatch_semaphore_create(2);
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//signals here
});
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
dispatch_release(sema);
等待不应该等待两个信号吗?在上面的代码中,它根本不等待,因此调用了释放,结果是崩溃!