dispatch_group_async


- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_group_t group = dispatch_group_create();

dispatch_group_async(group, queue, ^{
[NSThread sleepForTimeInterval:1];
[self group1];
});
dispatch_group_async(group, queue, ^{
[NSThread sleepForTimeInterval:5];
[self group2];
});
dispatch_group_async(group, queue, ^{
[NSThread sleepForTimeInterval:10];
[self group3];
});
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
NSLog(@"updateUi");
});
dispatch_release(group);
}

- (void)group1
{
NSLog(@"%s", __FUNCTION__);
}

- (void)group2
{
NSLog(@"%s",__FUNCTION__);
}

- (void)group3
{
NSLog(@"%s",__FUNCTION__);
}

dispatch_group_async,布布扣,bubuko.com

时间: 2024-10-16 06:20:54

dispatch_group_async的相关文章

GCD的常用代码块

一.队列 1.获取全局的并发队列 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 2.创建一个串行队列 dispatch_queue_t queue = dispatch_queue_create("queueName", NULL); 3.获取主队列 dispatch_queue_t queue = dispatch_get_main_queue(); 二.

iOS GCD中级篇 - dispatch_group的理解及使用

前文我们讲了GCD基础篇,以及同步.异步,并发.并行几个概率的理解. 参考链接: iOS GCD基础篇 - 同步.异步,并发.并行的理解 现在讲一下dispatch_group的概念以及几种场景下的使用 1.关于dispatch_group 把一组任务提交到队列中,这些队列可以不相关,然后监听这组任务完成的事件. 最常见的几个方法: 1.dispatch_group_create创建一个调度任务组 2.dispatch_group_async 把一个任务异步提交到任务组里 3.dispatch_

【面试】iOS 开发面试题(三)

1.iOS数据持久化存储方案有哪些? 参考答案: plist属性列表存储(如NSUserDefaults) 文件存储(如二进制数据写入文件存储,通过NSFileManager来操作将下载起来的二进制数据写一篇文件中存储) NSKeydeArchiver归档存储,常见的是自动化归档/解档处理,想要学习如何通过runtime实现自动化归档/解档,可 数据库SQLite3存储(如FMDB.Core Data) 2.沙盒的目录结构是怎样的?各自一般用于什么场合? 参考答案: Application:存放

GCD 常用操作

GCD多线程操作 1)用得最多的操作 //获取全局队列 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); //异步执行 dispatch_async(queue, ^{ //下载图片 dispatch_async(dispatch_get_main_queue(), ^{ //回到主线程更新UI }); }); ? 2)延时执行 1-调用NSObject方法 [Self

GCD

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispatch_get_main_queue获取. /*! * @function dispatch_get_main_queue * * @abstract * Returns the default queue that is bound to the main thread. * * @discussi

个人总结------高级知识点必会

高级知识点之必会 共44题 1.OC中创建线程的方法是什么?如果指定在主线程中执行代码?如何延时执行代码.[难度系数★★] 1)创建线程的方法 NSThread NSOperationQueue和NSOperation GCD 2)主线程中执行代码 [self performSelectorOnMainThread:withObject: waitUntilDone:]; [self performSelector: onThread:[NSThreadmainThread] withObjec

iOS 知识点梳理

OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装.继承.多态.它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定.动态加载等).总体来讲,OC确实是一门不错的编程语言, Objective-C具有相当多的动态特性,表现为三方面:动态类型(Dynamic typing).动态绑定(Dynamic binding)和动态加载(Dynamic loading).动态——必须到运行时(run time)才会做的一些事情. 动态类型:即运行时再决定对象的类型,这

GCD那些事儿

GCD GCD,全名Grand Central Dispatch,中文名郭草地,是基于C语言的一套多线程开发API,一听名字就是个狠角色,也是目前苹果官方推荐的多线程开发方式.可以说是使用方便,又不失逼格.总体来说,他解决我提到的上面直接操作线程带来的难题,它自动帮你管理了线程的生命周期以及任务的执行规则.下面我们会频繁的说道一个词,那就是任务,说白了,任务其实就是你要执行的那段代码. 任务管理方式--队列 上面说当我们要管理多个任务时,线程开发给我们带来了一定的技术难度,或者说不方便性,GCD

iOS 面试常见问题最全梳理

序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态平衡.矫情一下,言归正传,我奉献一下,为iOS应聘者梳理一下面试题,希望能助一臂之力! OC的理解与特性 OC作为一门面向对象的语言,自然具有面向对象的语言特性:封装.继承.多态.它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定.动态加载等).总体来讲,OC确实是一门不错的编程语言,