iOS ——多线程原理

2021-02-24  本文已影响0人  土豆骑士

了解多线程的原理,保证App的质量。

一、进程、线程与队列

1:进程

2:线程

3:进程 线程的关系与区别

移动开发不一定是单进程处理的,Android就是多进程处理的,iOS采用沙盒机制,这也是苹果运行流畅安全的主要原因。

4:队列
队列(queue)是先进先出(FIFO:first in first out)的线性表,具体应用中 通常使用链表或者数组来实现。转载线程任务的队形结构,队列只允许在后端(rear)进行插入操作,在前端(front)进行删除取出操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。

队列

5:队列和线程的关系

没啥关系吧

6:线程与RunLoop的关系

7:影响任务执行的速度的因素

二、多线程

1:多线程原理

2:多线程意义

优点

缺点

3:多线程的生命周期

线程周期
多线程的生命周期是:新建 — 就绪 — 运行 — 阻塞 — 死亡

4:线程池的原理

线程池调度

饱和策略如下:

4:iOS多线程实现方案

pthread:一套通用的多线程API适用于Unix/Linux/Windows等系统跨平台/可移植使用难度大,C语言,程序员管理,几乎不用。

NSThread:使用更加面向对象简单易用,可直接操作线程对象,
OC语言,程序员管理生命周期,偶尔使用。

GCD:旨在替代NSThread等,线程技术充分利用设备的多核,C语言,自动管理生命周期,经常使用。

NSOperation:基于GCD(底层是GCD)比GCD多了一些更简单实用的功能使用更加面向对象,OC语言,自动管理生命周期,经常使用。

5:GCD和NSOperation的区别

6:线程间的通讯

上一篇 下一篇

猜你喜欢

热点阅读