IOS GCD group 的使用

放在异步线程处理耗时操作,当所有的才做执行完毕时,回到主线程执行界面更新或者提示,代码如下:

    dispatch_group_t gt = dispatch_group_create();

    for(inti =0; i <10; i ++) {

        dispatch_group_async(gt, dispatch_queue_create(0, 0), ^{

            NSLog(@"====队列里面上传图片的处理 %@",@(i));

        });

    }

    //当group内的block都执行完毕时调用notify,当group内没有未完成的block时,则立刻执行此方法

    dispatch_group_notify(gt, dispatch_get_main_queue(), ^{

        NSLog(@"***队列内的东西执行完毕返回到主线程");

    });

以上例子,做了10次log的动作,打印了执行的顺序,每个异步的操作会根据自己的耗时时间先后不确定顺序去执行,当所有的执行完毕时,会执行dispatch_group_notify的block。

你可能感兴趣的:(IOS GCD group 的使用)