多线程

作者: 无名小卒赫 | 来源:发表于2016-07-18 08:36 被阅读5次

一、基本概念

1.计算机操作系统都有的基本概念,以下概念简单方式来描述。

1进程: 一个具有一定独立功能的程序关于某个数据集合的一次运行活动。可以理解成一个运行中的应用程序。2线程: 程序执行流的最小单元,线程是进程中的一个实体。3队列: 装载线程任务的队形结构。

2.苹果官方定义

The term threadisused to refer to a separate pathofexecutionforcode.The term processisused to refer to a running executable, which can encompass multiple threads.线程用于指代一个独立执行的代码路径进程用于指代一个可执行程序,他可以包含多个线程

Paste_Image.png

3.同步和异步主要影响:能不能开启新的线程

1同步:只是在当前线程中执行任务,不具备开启新线程的能力2异步:可以在新的线程中执行任务,具备开启新线程的能力

4.并发和串行主要影响:任务的执行方式

1并发:多个任务并发(同时)执行2串行:一个任务执行完毕后,再执行下一个任务

注意:

一个进程可有多个线程。

一个进程可有多个队列。

队列可分并发队列和串行队列。

二、iOS多线程对比

NSThread 更多

每个NSThread对象对应一个线程,真正最原始的线程。1)优点:NSThread轻量级最低,相对简单。2)缺点:手动管理所有的线程活动,如生命周期、线程同步、睡眠等。

NSOperation

自带线程管理的抽象类。1)优点:自带线程周期管理,操作上可更注重自己逻辑。2)缺点:面向对象的抽象类,只能实现它或者使用它定义好的两个子类:NSInvocationOperation和NSBlockOperation。

GCD

参考链接

Grand CentralDispatch(GCD)是Apple开发的一个多核编程的解决方法。1)优点:最高效,避开并发陷阱。2)缺点:基于C实现。

选择小结

1)简单而安全的选择NSOperation实现多线程即可。2)处理大量并发数据,又追求性能效率的选择GCD。3)NSThread本人选择基本上是在做些小测试上使用,当然也可以基于此造个轮子。

相关文章

  • iOS多线程 NSOperation

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程 pthread、NSThread

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程: GCD

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程运用

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • iOS多线程基础

    系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

  • iOS进阶之多线程管理(GCD、RunLoop、pthread、

    深入理解RunLoopiOS多线程--彻底学会多线程之『GCD』iOS多线程--彻底学会多线程之『pthread、...

  • iOS多线程相关面试题

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • 多线程之--NSOperation

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

  • iOS多线程之--NSThread

    iOS多线程demo iOS多线程之--NSThread iOS多线程之--GCD详解 iOS多线程之--NSOp...

网友评论

      本文标题:多线程

      本文链接:https://www.haomeiwen.com/subject/gmepjttx.html