2016-05-13 2 views
2

Im学習GCD。次のコードを検討してください:dispatch_syncルーチンの理解

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

    /* Another implementation */ 
    return YES; 
} 

私は、デッドロックがあることを知っています。しかし、なぜ誰かが説明することができますか?アプリケーション(アプリケーション)が "フリーズ"する前に、アプリケーションが行う正確な手順は何ですか?

+0

を実行するためにブロックを待つために、それを伝えるために? – trojanfoe

+0

@trojanfoeはアプリがフリーズするためです。試してみてください。 –

+0

@DhawalSodhaParmarその迅速ではない –

答えて

1

コードがメインキューで実行され、あなたは、デッドロックが発生します主張しないのはなぜメインキューに