为了账号安全,请及时绑定邮箱和手机立即绑定

iOS GCD队列阻塞问题

iOS GCD队列阻塞问题

动漫人物 2019-05-23 20:10:27
代码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个赞

1
App:主线程,你过来,给你个任务,任务完成后再走
主线程:什么任务?
App:你去那边打印机上,打印个东西,但是你不能离开这里,完成后才能走
主线程:……
2
App:主线程,你过来,给你个任务,任务完成后再走
主线程:什么任务?
App:你叫**abc**去那边打印机上,打印个东西,但是你不能离开这里,完成后才能走
主线程:**abc**,快去打印个东西,现在就要!
                            
查看完整回答
反对 回复 2019-05-23
  • 2 回答
  • 0 关注
  • 784 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信