多线程(NSThread、NSOperation、GCD)编程浅谈

原创 2016年05月31日 22:46:12

一.基本概念

进程:
一个具有一定独立功能的程序关于某个数据集合的一次运行活动。可以理解成一个运行中的应用程序
线程:
程序执行流的最小单元,线程是进程中的一个实体。
同步:
只能在当前线程按先后顺序依次执行,不开启新线程。
异步:
可以在当前线程开启多个新线程执行,可不按顺序执行
队列:
装载线程任务的队形结构。
并发:
线程执行可以同时一起进行执行。
串行:
线程执行只能依次逐一先后有序的执行。
主线程:
一个iOS程序运行后,默认会开启1条线程,称为“主线程”或“UI线程”主线程的主要作用:显示/刷新UI界面处理UI事件(比如点击事件、滚动事件、拖拽事件等)

注意

  • 一个进程可有多个线程
  • 一个进程可有多个队列
  • 队列可分并发队列和串行队列

二.iOS多线程对比

1.NSThread:每个NSThread对象对应一个线程,真正最原始的线程。

优点:NSThread 轻量级最低,相对简单。

缺点:手动管理所有的线程活动,如生命周期、线程同步、睡眠等。

2.NSOperation:自带线程管理的抽象类。

优点:自带线程周期管理,操作上可更注重自己逻辑, 可以添加操作任务之间的依赖关系。

缺点:面向对象的抽象类,只能实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation。

3.GCD:Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。

优点:分利用CPU多核,自动管理线程的生命周期, 最高效,避开并发陷阱。

缺点:基于C实现。

iOS开发探索-多线程(NSThread、NSOperation、GCD)编程浅谈

一、基本概念 进程: 一个具有一定独立功能的程序关于某个数据集合的一次运行活动。可以理解成一个运行中的应用程序。 线程:程序执行流的最小单元,线程是进程中的一个实体。 同步:只能在当前线程按...

ios笔记-多线程相关(phread、NSThread、GCD、NSOperation)

进程:            进程是指在系统中正在运行的一个应用程序。 线程:            1个进程要想执行任务,必须得有线程(每一个进程至少有1条线程)            1个...

IOS 多线程NSThread、NSOperation、GCD详解

OS 多线程NSThread、NSOperation、GCD详解 iOS有三种多线程编程的技术,分别是: 1、NSThread 2、Cocoa NSOperation (iOS多线程编程之N...

iOS 多线程处理 ----NSThread, NSOperation,GCD

1个进程要想执行任务,必须得有线程 线程 : 执行任务的单元片段叫做线程,也就是真正的任务执行者,只不过系统默认把任务交给主线程来做. 大多时候为了提高用户体验需要把耗时的任务交给子线程 来做.一个进...
  • Sonjery
  • Sonjery
  • 2016年06月04日 20:08
  • 214

iphone开发中的多线程:NSThread、NSOperation、GCD

iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式: 1, NSThread; 2,...

Objective-C多线程详解(NSThread、NSOperation、GCD)

进程和线程 程序:一个由源代码生成的可执行应用(比如qq,微信…) 进程:进程是指在系统中正在运行的一个应用程序。一个正在运行的程序可以看成一个进程,进程负责去向手机系统申请资源,同时将这...

iOS开发之多线程NSThread,NSOperation,GCD

一、多线程NSThread 1.多线程基础知识线程与进程的关系 (1). 线程是CPU执行任务的基本单位,一个进程能有多个线程,但同时只能执行一个任务 (2). 进程就是运行中的软件,是动态...

iOS多线程入门之NSThread,NSOperation,GCD

iOS的三种多线程技术特点: 1.NSThread: 1> 优点:NSThread对象建立一个线程非常方便; 2> 缺点:要使用NSThread管理多个线程非常困难,不推荐使用;...

多线程 NSThread,NSOperation,GCD

多线程 NSThread,NSOperation,GCD
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多线程(NSThread、NSOperation、GCD)编程浅谈
举报原因:
原因补充:

(最多只允许输入30个字)