Im learning GCD. Please consider following code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    dispatch_sync(dispatch_get_main_queue(), ^{
        NSLog(@"Hello world");
    });
   /* Another implementation */
   return YES;
}
I know, that there will be a deadlock. But can somebody explain why? What exactly steps application will do, before it (app) will "freeze"?
 
    