线程死锁

- (void)viewDidLoad
{
    [super viewDidLoad];
	
//    dispatch_queue_t queue = dispatch_queue_create("ming", NULL);
//    //如果在串行队列中的block同步再放入一个block,就会导致两个block相互等待,造成线程死锁
//    dispatch_sync(queue, ^{
//        NSLog(@"1");
//        
//        dispatch_sync(queue, ^{
//            NSLog(@"3");
//        });
//        
//    });
//    NSLog(@"2");
    
    //在主线程中,不能同步放入主线程队列block
    dispatch_sync(dispatch_get_main_queue(), ^{
        NSLog(@"1");
    });
    NSLog(@"2");
}
解决办法参考下一篇文章 ThreadLock 线程锁、同步一段代码

你可能感兴趣的:(线程死锁)