转自宏创学院http://www.hcios.com/archives/2483
1:线程间通信简介
在涉及网络数据获取的过程中,一般会使用异步任务+并行队列进行数据获取,当获取到网络数据以后,需要在主线程中把数据显示到屏幕上,因此就涉及到线程间的通信,在并发队列中的任务,还可以嵌套子任务,嵌套的子任务可以设置为在主线程中执行的任务2:例子:在请求一张图片的时候,将请求任务放在并行队列中,等图片请求完成以后则回到主线程将图片显示出来
队列组(很重要)
在使用GCD进行任务操作时,有时候希望若干个任务执行之间有先后执行的依赖顺序,例如:A,B两个异步任务完成后,再去完成C任务,这时就可以使用队列组 dispatch group来完成
队列组基本介绍
在串行队列中,任务是按照进入队列的顺序依次执行,依次任务与任务之间是有明确地先后顺序的,但是对于并行队列的任务来说!由于任务被自动分配到不同的线程中执行,因此任务完成的顺序是不确定的.如果希望给并行队列中的任务设置执行顺序的时候,例如:当任务A和任务B任务完成以后,再去完成任务C!此时就需要使用到任务组(dispatch_group)队列组常用操作
- 示范例子 点击按钮先异步下载显示两张图片,两张图片都下载完成以后提示下载完成