美文网首页
000-调度组

000-调度组

作者: 紫荆秋雪_文 | 来源:发表于2017-02-07 18:33 被阅读11次

1、应用场景:调度组一般用于,执行有先后顺序的操作中

  • 本例需求如下:在异步下载完成任务A 和 任务B后在执行任务C
//
//  ViewController.m
//  2-调度组
//
//  Created by 紫荆秋雪 on 17/2/3.
//  Copyright © 2017年 Revan. All rights reserved.

//  调度组:在任务A和任务B都完成以后再执行‘监听方法’
//  使用于:有先后顺序的任务
/**
 1.调度组没有任务,直接执行 notify
 2.入组 多于 出租,notify 永远不会执行,因为组永远不会为空
 3.出组 多于 入组,会崩溃
 */

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self group];
}

- (void)group {
    // 1.创建调度组
    dispatch_group_t group = dispatch_group_create();
    // 2.队列
    dispatch_queue_t q = dispatch_get_global_queue(0, 0);
    
    // 3.调度组
    // 1> 入组
    dispatch_group_enter(group);
    dispatch_async(q, ^{
        // 下载任务
        [NSThread sleepForTimeInterval:2.0];
        NSLog(@"downlaod 任务A %@", [NSThread currentThread]);;
        // 2> 出租
        dispatch_group_leave(group);
        
    });
    
    // 2> 入组
    dispatch_group_enter(group);
    dispatch_async(q, ^{
        // 下载任务
        NSLog(@"downlaod 任务B %@", [NSThread currentThread]);
        // 出租
        dispatch_group_leave(group);
    });
    
    // 监听
    dispatch_group_notify(group, q, ^{
        NSLog(@"come here 任务C %@", [NSThread currentThread]);
    });
}

@end

相关文章

  • 000-调度组

    1、应用场景:调度组一般用于,执行有先后顺序的操作中 本例需求如下:在异步下载完成任务A 和 任务B后在执行任务C

  • GCD group 的使用

    group 头文件中函数的解析: 调度组在项目中的使用(调度组的基本使用) 调度组:调度组是用来协调一个或多个任务...

  • swift 网络请求调度组

    /// 网络请求调度组private func datasRequestGroup() {// 创建调度组let ...

  • 调度组

  • GCD调度组

    1、第一种方式 2、第二种方式

  • GCD调度组

    使用场景 在实际开发中,需要开启N个异步线程,(如异步下载N张图片,下载结束后需要继续执行某项任务),需要依赖N个...

  • GCD-调度组

    如果有多个执行任务,我们希望他们都执行完成后执行某一操作,可以采用调度组。 1、创建调度组: 2、创建并发任务: ...

  • 磁盘调度算法

    1、对于如下给定的一组磁盘访问进行调度: 2、要求分别采用先来先服务、最短寻道优先以及电梯调度方法进行调度。3、要...

  • openpyxl.utils.exceptions.Illega

    1,既然检测到excel中存在[\000-\010]|[\013-\014]|[\016-\037]这些非法的字符...

  • iOS面试题:GCD实现多个请求都完成之后返回结果

    原文:iOS面试题大全 同步堵塞 栅栏函数 调度组

网友评论

      本文标题:000-调度组

      本文链接:https://www.haomeiwen.com/subject/rmemittx.html