użycie dispatch_sync jako blokady mutex
Oto, co muszę zrobić. Mam nadzieję, że dispatch_sync będzie najlepszym sposobem na zrobienie tego za pomocą GCD
Mam pewien fragment krytycznego kodu sekcji, który jest umieszczony w wywołaniu zwrotnym applicationDidBecomeActive w Appdelegate ..
Zawijam tę metodę wewnątrz wywołania dispatch_sync, tak że jest wywoływana tylko raz, niezależnie od tego, ile razy wywoływana jest aplikacja applicationDidBecomeActive
- (void)applicationDidBecomeActive:(UIApplication *)application{
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"Thread created");
//crtical code
[self runCriticalSection];
});}
Czy jest to właściwy sposób na wykonanie tego przy użyciu dispatch_sync?