【多线程-第二天-GCD的调度组的基本使用 Objective-C语言】

一、调度组

1.调度组的功能是什么:它真正去实现,当多个异步操作都执行完,再去做另一件事情,做什么事情呢,我们举一个例子,比如说,我们下载三首歌儿,当这三首歌儿都下载完毕,我们再转到主线程上,去播放,或者,去提示用户,这三首歌儿都下载完毕,你该去做其他的操作了,我们去做这么一件事情,先新建一个项目,

【多线程-第二天-GCD的调度组的基本使用 Objective-C语言】_第1张图片

Name:12-调度组,

下载是从网络上去获取数据,速度都是比较慢的,所以,我们用异步,我们开三个线程,去下载这三首歌儿,因为是异步的,我们不能控制它执行的时间,不能控制它们执行的顺序,但是,我们希望,当这三首歌儿下载完毕之后,通知一下用户,通知用户的话,肯定是在界面上去提示用户,所以,要回到主线程上来,

// 下载三首歌曲,当歌曲都下载完毕,通知用户,

- (void)touchesBegan:(NSSet < UITouch * >*)touches withEvent:(UIEvent *)event{

}

// 演示调度组的基本使用

- (void)demo1{

}

调度组,怎么用呢,我们还是找dispatch,因为,GCD的所有的函数,都是以dispatch开头儿的,

dispatch_group_async(dispatch_group_t group,dispatch_queue_t queue,^(void)block)

我们来看,这个函数,有三个参数,第一个参数是什么,是组,第二个参数是队列,第三个参数是任务,调度组还是要去记录下来,我们要做什么事情,做一个下载的事情,因为需要三个参数,所以我们分别去创建这三个参数,

1)dispatch_group_t group:创建组,

dispatch_group_t group = dispatch_group_create();

这是创建了一个组,

你可能感兴趣的:(Objective-C,objective-c,开发语言)