Dispath Group机制, 根据系统资源状况执行任务

   Dispath Group机制, 根据系统资源状况执行任务 - >条件需要等待多个并行任务结束时 执行某个任务, 这个时候使用dispath group 实现;

   通过Dispath Group 函数, 可以把并发执行的多个任务合为一组, 调用者就可以知道这些任务何时才能全部执行完毕;


//一个优先级低的并发队列

dispatch_queue_t lowPriorityQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0);

//一个优先级高的并发队列

dispatch_queue_t highPriorityQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);

//创建dispatch_group

dispatch_group_t dispatchGroup = dispatch_group_create();

//将优先级低的队列放入dispatch_group

for(id objectinlowPriorityObjects) {

dispatch_group_async(dispatchGroup,lowPriorityQueue,^{ [object performTask]; });

}

//将优先级高的队列放入dispatch_group

for(id objectinhighPriorityObjects) {

dispatch_group_async(dispatchGroup,highPriorityQueue,^{ [object performTask]; });

}

//dispatch_group里的任务都结束后调用块中的代码

dispatch_queue_t notifyQueue = dispatch_get_main_queue();

dispatch_group_notify(dispatchGroup,notifyQueue,^{

    // Continue processing after completing tasks

});

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容