三九宝宝网宝宝教育智力培养

ios开发block是主线程还是多线程

01月07日 编辑 39baobao.com

[3岁零9个月大的孩子该上小班还是中班]按我儿子幼儿园的经验,如果一个幼儿园分小中大学前班,那么所谓的中班就是那种没有学前班的只分托小中大班的小班,所以不用计较名称,主要看孩子生日和孩子能力,过了3岁孩子适应能...+阅读

多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径

在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的。

然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务。

概要提示:

iPhone中的线程应用并不是无节制的,官方给出的资料显示,iPhone OS下的主线程的堆栈大小是1M,第二个线程开始就是512KB,并且该值不能通过编译器开关或线程API函数来更改,只有主线程有直接修改UI的能力

线程概述

有些程序是一条直线,起点到终点——如简单的hello world,运行打印完,它的生命周期便结束了,像是昙花一现。

有些程序是一个圆,不断循环直到将它切断——如操作系统,一直运行直到你关机。

一个运行着的程序就是一个进程或者叫做一个任务,一个进程至少包含一个线程,线程就是程序的执行流。

Mac和IOS中的程序启动,创建好一个进程的同时,一个线程便开始运作,这个线程叫做主线程。主线成在程序中的位置和其他线32313133353236313431303231363533e4b893e5b19e31333363363433程不同,它是其他线程最终的父线程,且所有的界面的显示操作即AppKit或UIKit的操作必须在主线程进行。

系统中每一个进程都有自己独立的虚拟内存空间,而同一个进程中的多个线程则公用进程的内存空间。

每创建一个新的进成,都需要一些内存(如每个线程有自己的stack空间)和消耗一定的CPU时间。

当多个进成对同一个资源出现争夺的时候需要注意线程安全问题

创建线程

创建一个新的线程就是给进程增加一个执行流,所以新建一个线程需要提供一个函数或者方法作为线程的进口。

iOS有三种多线程编程的技术,分别是:

(一)NSThread

(二)Cocoa NSOperation

(三)GCD(全称:Grand Central Dispatch)

这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。

NSThread:

优点:NSThread 比其他两个轻量级

缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销

Cocoa NSOperation

优点:不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上。

Cocoa operation 相关的类是 NSOperation ,NSOperationQueue。

NSOperation是个抽象类,使用它必须用它的子类,可以实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。

创建NSOperation子类的对象,把对象添加到NSOperationQueue队列里执行。

GCD

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。在iOS4.0开始之后才能使用。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术。现在的iOS系统都升级到7了,所以不用担心该技术不能使用。

以下为关联文档:

事业单位管理岗位好还是工勤岗好付费内容限时免费查看 回答 [微笑] 亲,自然是管理岗好了,管理岗是干部,工勤岗是工人 希望能帮助到您[微笑] 提问 因为我还有两个月就退休了,朋友们说工薪岗位工资高,管理岗位工资...

html5怎么还是用flash1. Flash:YouTube上的FLV影片得通过一个SWF(Shockwave Flash)播放器播放,而这个播放器会呼叫Flash Player Plug-In来播放影片。 2. HTML5:YouTube上的M4V影片直接利用标签即...

英语写作:是买书读好还是借书读好Buying or Borrowing Books? Books can arm us with knowledge and information we need to make success of life. There are generally two ways in which we can have ac...

刚性管理好还是柔性管理好刚性管理的与柔性管理的区别: (1)基础不同: 从其定义可看出,刚性管理的基础是组织权威,它所依靠的主要是组织制度和职责权力。管理者的作用主要在于命令、监督与控制。柔性管理的...

留学列宾美院交的作品是油画还是素描?要什么作品列宾美院全名是:绘画、雕塑与建筑艺术研究学院。 原俄罗斯皇家美术学院。圣彼得堡列宾美术学院是俄罗斯美术教育的最高学府,培养出了许多世界知名美术家。她与巴黎的中央美术...

我国外汇制度是自由外汇还是记账外汇我国外汇制度对外汇实行严格的管制,属于记账外汇。 记账外汇又称清算外汇或协定外汇,是指根据双边或多边支付协定进行国际结算时,用作计价单位的货币。 记账外汇一般以双方国家...

吟咏花木的诗句说说它们象征着什么我还是不知道以松柏象征坚贞 松枝傲骨峥嵘,柏树庄重肃穆,且四季长青,历严冬而不衰。《论语》赞曰:岁寒然后知松柏之后凋也。松与竹、梅一起,素有“岁寒三友”之称。文艺作品中,常以松柏象征坚...

左脑如何判断是左脑发达还是右脑发达右脑型测验: 1、 清楚记得初次见面的人的面孔 2、 喜欢用木头或天然材料造的东西 3、 肚子不饿就不肯吃东西 4、 挨骂后不会闷闷不乐 5、 对新的玩具和游戏立即感兴趣 6、 热...

急求幼儿园财务工作总结!虽说是财务但是跟后勤工作方面还是比较后勤工作是做好幼儿园管理工作和教育工作的基础所在,中心幼儿园在园领导的关心支持和教师们的积极配合下,园舍和园内环境在原有基础上有了更大的改观。本学期以“三个代表”重...

推荐阅读
图文推荐