代码1dispatch_queue_tmainQueue=dispatch_get_main_queue();dispatch_sync(mainQueue,^{NSLog(@"为啥堵塞");});代码2dispatch_queue_tqueue=dispatch_queue_create("abc",DISPATCH_QUEUE_SERIAL);dispatch_sync(queue,^{NSLog(@"为啥不堵塞");});如上,两段代码,都运行在主线程中,mainQueue也是串行队列,为什么代码1会造成线程阻塞,而代码2不会阻塞?或者说代码2不会阻塞大家可能都了解,为什么在主队列调用dispatch_sync就会阻塞?
2 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
1App:主线程,你过来,给你个任务,任务完成后再走主线程:什么任务?App:你去那边打印机上,打印个东西,但是你不能离开这里,完成后才能走主线程:……2App:主线程,你过来,给你个任务,任务完成后再走主线程:什么任务?App:你叫**abc**去那边打印机上,打印个东西,但是你不能离开这里,完成后才能走主线程:**abc**,快去打印个东西,现在就要!
添加回答
举报
0/150
提交
取消