首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

GCD概念和基本使用GCD概念和基本使用

1、GCD简介 全称是 Grand Central Dispatch; 纯 C 语言,提供了非常多强大的函数; GCD是非常高效的多线程开发方式,它并不是Cocoa框架的一部分 1.1 GCD优势 GCD...是苹果公司为多核的并行运算提出的解决方案; GCD 会自动利用更多的CPU内核(比如双核、四核) GCD 会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 总结:将任务添加到队列,并且指定执行任务的函数...1.2 GCD函数 同步函数 通过dispatch_sync(queue , {})获取; 必须等待当前语句执行完毕,才会执行下一条语句; 不会开启其他线程,就在当前线程中完成任务; 异步函数...dispatch_async(dispatch_get_main_queue(), ^{ self.imageView.image = image; }); }); 2.6 GCD...^{ NSLog(@"3"); }); dispatch_async(queue1, ^{ NSLog(@"4"); }); 1 2 一定在3前面执行,4一定在3后面执行; 2.8 GCD

94420

多线程——GCD

GCD的简单使用 什么是GCD 全程是Grand Central Dispatch 纯C语言,提供非常多强大的函数 多核并行运算,不叫多线程,它只是完成了多线程的封装和使用 GCD的优势 GCD是苹果公司为多核的并行运算提出的解决方案...而你使用GCD,则不用动,所以开发者很便利。...这就是苹果多它的CPU多核伏笔 GCD 会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码...任务和队列 GCD的2个核心概念 任务:执行什么操作 队列:用来存放任务 GCD的使用就2个步骤 定制任务(确定想做的事情) 将大象放进冰箱有几步?...执行任务的方法:同步/异步 同步:一个任务没有结束,就不会执行下一个任务 异步:不用等待任务执行完毕,就会执行下一个任务 GCD有一个“线程池”; GCD同步调度任务时,会拿出1根线程,让它执行队列中的任务

38710

iOS 多线程-GCD

今天给大家带来多线程系列的第二篇文章 -- GCD,其大概率是我们在使用多线程时最常用的方式了。 GCD 全称是 Grand Central Dispatch,翻译过来就是大规模中央调度。...对开发者而言,面对的不再是上一篇文章iOS 多线程-Thread所描述的线程,CGD 将线程概念模糊掉,开发者转而面对的是更上层的队列和任务,不再需要考虑线程的周期以及调度等等,这些交由 GCD 内部处理就好...同时更多细节大家可以看苹果开源出来关于 GCD 的源码--swift-corelibs-libdispatch[1],同时我们通过源码也能了解到 GCD 的底层 API 都是用C写的。...GCD层次图 qos 属性扩展 如果大家对上次的iOS 多线程-Thread还有印象的话,想必会对Thread的qualityOfService属性有点印象,其类型为QualityOfService;iOS...在 GCD 中,对开发者而言,任务才是关注的操作单位,上述的队列只是对任务进行管理和调度。

74530

多线程—GCD

什么是GCD 全程是Grand Central Dispatch 纯C语言,提供非常多强大的函数 多核并行运算,不叫多线程,它只是完成了多线程的封装和使用 GCD的优势 GCD是苹果公司为多核的并行运算提出的解决方案...而你使用GCD,则不用动,所以开发者很便利。...这就是苹果多它的CPU多核伏笔 GCD 会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码...任务和队列 GCD的2个核心概念 任务:执行什么操作 队列:用来存放任务 GCD的使用就2个步骤 定制任务(确定想做的事情) 将大象放进冰箱有几步?...执行任务的方法:同步/异步 同步:一个任务没有结束,就不会执行下一个任务 异步:不用等待任务执行完毕,就会执行下一个任务 GCD有一个“线程池”; GCD同步调度任务时,会拿出1根线程,让它执行队列中的任务

32730
领券