Если я использую dispatch_semaphore_wait
внутри очереди отправки, может ли это привести к истощению моей очереди отправки потоков, если многие потоки заблокированы на dispatch_semaphore_wait
?
parallelDownloadsSemaphore = dispatch_semaphore_create(4);
[...]
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
dispatch_semaphore_wait([self parallelDownloadsSemaphore], DISPATCH_TIME_FOREVER);
// perform lengthy download
dispatch_semaphore_signal([self parallelDownloadsSemaphore]);
});