这是我需要做的。我希望 dispatch_sync 是使用 GCD 的最佳方式
我有一段关键部分代码放在 Appdelegate 的 applicationDidBecomeActive 回调中。
我将该方法包装在 dispatch_sync 调用中,以便无论调用多少次 applicationDidBecomeActive 都只调用一次
- (void)applicationDidBecomeActive:(UIApplication *)application{
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSLog(@"Thread created");
//crtical code
[self runCriticalSection];
});}
这是使用 dispatch_sync 的正确方法吗?