iOS 多线程-GCD队列组

iOS 多线程-GCD任务+队列.
iOS 多线程-GCD队列组.
iOS 多线程-GCD栅栏方法.

在实际的开发中,对于多线程的使用是多种多样的,因为需求的不同,处理逻辑也不同。
现在有两个耗时操作A和B,现在需要A和B都异步执行,当A和B都执行完成后再执行C。
这样的操作逻辑很常见,例如:一个界面需要展示两个接口请求的数据,需要两个接口全部请求完成才能刷新视图,展示数据。
对于这样的操作逻辑,对于这样的操作要求,我们可以使用队列组来完成。

队列组的使用

队列组的使用我分为3种方式:
1、通知方式:dispatch_group_notify
2、等待方式(堵塞方式):dispatch_group_wait
3、进入走出方式:dispatch_group_enter、dispatch_group_leave

无论是哪一种方式,都需要先去创建队列组、创建队列和创建任务。
1、创建队列组:

	//创建队列组
    dispatch_group_t group = dispatch_group_create();
    //获取全局并行队列
    dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
通知方式:dispatch_group_notify
- (void)queueGroupNotify{
    //创建队列组
    dispatch_group_t group = dispatch_group_create();
    //获取全局并行队列
    dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
    
    //创建异步任务
    dispatch_group_async(group, queue, ^{
        //任务1
        for (int i = 0; i < 3; i++) {
            [NSThread sleepForTimeInterval:2];
         
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值