我正在学习GCD。请考虑以下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@"Hello world");
});
/* Another implementation */
return YES;
}
我知道,会有僵局。但有人可以解释为什么吗?应用程序将在它(app)之前完成的步骤将"冻结"?
答案 0 :(得分:1)
因为代码在主队列中运行,并且您告诉它等待块在主队列中执行