看看這個代碼:爲什麼此代碼會停止程序執行?
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, nil),^
{
NSLog(@"DISPATCH_QUEUE");//executed
//never goes further
dispatch_sync(dispatch_get_main_queue(),^
{
NSLog(@"MAIN_QUEUE");
});
NSLog(@"END OF DISPATCH QUEUE");
});
我預計代碼照常運行程序流,但它總是在控制檯的話DISPATCH_QUEUE
放,從來沒有更進一步。該程序停止。任何人都可以給出解釋它爲什麼這樣表現?幕後發生了什麼讓它停止?