采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
(void)viewDidLoad { [super viewDidLoad]; //主队列本身也是串行队列 dispatch_async(dispatch_get_main_queue(), ^{
[self doSomething]; });
} 老师,您说主队列当中提交的任务无论是同步还是异步最终都是在主线程中执行,而主队列也是串行队列,这里怎么不会死锁呢,是因为主队列中的异步方法会创建新的队列吗?有点不明白
同步方式或者异步方式提交到主队列的任务都是在主线程上执行。问题中的异步分派到主队列不会产生卡死,原因是主队列是串行队列,异步方式提交的任务会先排队,当前任务执行完成才会执行后续提交进来的任务
嗯嗯,老师我对底层的实现还是有点疑问: 当前的任务viewDidLoad里面不是包括了后续异步提交的block方法吗?其后续异步提交的block跟当前任务的ViewDidLoad底层是怎么做到相互不需要等待了呢
登录后可查看更多问答,登录/注册
从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系
1.3k 11
1.9k 9
1.2k 9
1.0k 8
969 8