• GCD-调度组



    /*
    在iOS开发中,我们经常需要需要监听多个异步任务全部完成后的回调。此时需要用到调度组处理 场景:使用异步下载多张图片的时候,可能需要下载完成全部图片后才能计算image的高宽来布局页面。等等 */ #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; #warning 注意事项: /* 1.dispatch_group_enter(group) 与dispatch_group_leave(group) 必须配对使用!!! 2.如果 dispatch_group_leave(group) 配对少了一个,则dispatch_group_notify 将永远的等待下去不走回调 3.如果 dispatch_group_enter(group) 配对少了一个,则会造成程序的crash */ //1>创建一个调度组 dispatch_group_t group = dispatch_group_create(); //2.使用调度组 dispatch_group_enter(group); dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSLog(@"%@ --- 执行了任务1",[NSThread currentThread]); dispatch_group_leave(group); }); dispatch_group_enter(group); dispatch_async(dispatch_queue_create("111", DISPATCH_QUEUE_CONCURRENT), ^{ NSLog(@"%@ --- 执行了任务2",[NSThread currentThread]); dispatch_group_leave(group); }); //3>调度组监听,监听结果在设置的dispatch_get_main_queue 中回调 dispatch_group_notify(group, dispatch_get_main_queue(), ^{ NSLog(@"%@ --- 监听到了任务全部执行完毕",[NSThread currentThread]); }); } @end

    代码下载地址:https://github.com/fushengit/iOS-Multithreading

     
  • 相关阅读:
    在Wince下使用钩子函数
    WinCE下钩子应用(一)——WinCE 下实时捕获键盘消息
    记录此刻
    常用数列
    百度之星度度熊拼三角
    笛卡尔定理
    Lucas定理
    简单概念
    Unknown Treasure Lucas+中国剩余定理+快速乘
    2017ccpc杭州站 Problem B. Master of Phi
  • 原文地址:https://www.cnblogs.com/fusheng-it/p/6930296.html
Copyright © 2020-2023  润新知