下载此文档

GCD介绍基本概念和DispatchQueue.docx


文档分类:通信/电子 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
GCD介绍基本概念和DispatchQueue.docxiOS的三种多线程技术NSThread每个NSThread对象对应一个线程,量级较轻(真正的多线程)以下两点是苹果专门开发的“并发”技术,使得程序员可以不再去关心线程的具体使用问题0NSOperation/NSOperationQueue面向对象的线程技术0GCD——GrandCentralDispatch(派发)是基于C语言的框架,可以充分利用多核,是苹果推荐使用的多线程技术以上这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple®推荐使用的,在项目中很多框架技术分别使用了不同多线程技术。•NSThread:-优点:NSThread比其他两个轻最级,使用简单-缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤曜等。线程同步对数据的加锁会有一定的系统开销•NSOperation:-不需耍关心线程管理,数据同步的事情,可以把粘力放在口己需耍执行的操作上-NSOperation是面向对象的•GCD:-GrandCentralDispatch是由苹果开发的一个多核编程的解决方案。+才能使丿IJ,是替代NSThread,NSOperation的高效和强大的技术-GCD是基于C语言的什么是GCD?GrandCentralDispatch或者GCD,是一套低层API,提供了一种新的方法來进行并发程序编写。从基木功能上讲,GCD冇点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列來并发地或者串行地执行。GCD比ZNSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。除了代码的平行执行能力,GCD还提供高度集成的事件控制系统。可以设置句柄來响应文件描述符、machports(Machport用于OSX上的进程间通讯)、进程、计时器、信号、用户生成事件。这些句柄通过GCD来并发执行。GCD的API很大程度上基于block,当然,GCD也可以脱离block來使用,比如使用传统c机制捉供函数指针和上下文指针。实践证明,当配合block使用时,GCD非常简单易用且能发挥其最大能力。你可以在Mac上敲命令“mandispatch”來获取GCD的文档。为何使用?GCD提供很多超越传统多线程编程的优势:易用:。由丁-GCD基于workunit而非像thread那样基于运算,所以GCD可以控制诸如等待任务结束、监视文件描述符、周期执行代码以及工作挂起等任务。皋于block的血统导致它能极为简单得在不同代码作用域之间传递上下文。效率:GCD被实现得如此轻昴和优雅,使得它在很多地方比之专门创建消耗资源的线程更实用且快速。这关系到易用性:导致GCD易用的原因冇一部分在于你可以不用担心太多的效率问题而仅仅使用它就行了。性能:GCD自动根据系统负载來增减线程数量,这就减少了上下文切换以及增加了计算效率。DispatchObjects尽管GCD是纯c语言的,但它被纽建成面向对象的风格。GCD对彖被称为dispatchobjectoDispatchobject像Cocoa对象•样是引用计数的。使用dispatch_release和dispatch_retain函数来操作dispatchobject的引用计数来进行内存

GCD介绍基本概念和DispatchQueue 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人pppccc8
  • 文件大小61 KB
  • 时间2019-04-08