usando dispatch_sync como um bloqueio mutex
Aqui está o que preciso fazer. Espero que o dispatch_sync seja a melhor maneira de fazer isso usando o GCD
Eu tenho um certo pedaço de código de seção crítica que é colocado no retorno de chamada applicationDidBecomeActive no Appdelegate ..
Estou encerrando esse método dentro de uma chamada dispatch_sync para que ela seja chamada apenas uma vez, não importa quantas vezes applicationDidBecomeActive seja chamado
- (void)applicationDidBecomeActive:(UIApplication *)application{
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"Thread created");
//crtical code
[self runCriticalSection];
});}
Este é o caminho certo para fazer isso usando o dispatch_sync?