2013-03-06 3 views
0

В типичном dispatch_async исполнения:Как проверить статус очереди dispatch_async?

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ 
    // ... 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     // ... 
    }); 
}); 

Чтобы ограничить только есть только блок работает:

if (_loadingFromServer) return; 
_loadingFromServer = YES; 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ 
    // ... 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     // ... 
     _loadingFromServer = NO; 
    }); 
}); 

Есть ли способ, чтобы проверить, где блок асинхронного работает, без с помощью _loadingFromServer флаг?

dispatch_queue_set_specific полезный в этом случае?

ответ

Смежные вопросы