了解dispatch_sync例程

时间:2016-05-13 10:58:30

标签: ios

我正在学习GCD。请考虑以下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    dispatch_sync(dispatch_get_main_queue(), ^{
        NSLog(@"Hello world");
    });

   /* Another implementation */
   return YES;
}

我知道,会有僵局。但有人可以解释为什么吗?应用程序将在它(app)之前完成的步骤将"冻结"?

1 个答案:

答案 0 :(得分:1)

因为代码在主队列中运行,并且您告诉它等待块在主队列中执行