阿里8年的老程序员的经验:iOS进阶和iOS多线程简介

1简介。线程(本文)

阿里老程序员12年开发经验分享:iOS进阶和多线程简介

cpu

2。实现多线程的3种方法

关注作者:需要ios高级研发进阶资料,可以留言或者私聊

学习是通过已知知识模型推理未知知识模型的过程。

本产品适用于学习Objective-C语言的基础,并进一步提高学生阅读iOS开发。

当您谈论线程时,让我们先看看进程。

1。过程

系统中运行的每个应用程序都有一个进程。这个过程是独立的,并且有它自己的独占操作空间。进程的出现是为了解决多任务系统的问题。

首先,看一个单任务处理系统的示意图:

阿里老程序员12年开发经验分享:iOS进阶和多线程简介

单任务处理系统

CPU按顺序执行任务1,任务2,任务3…前一个任务没有完成,后面的任务没有执行。任务4,即使它是紧急的,有很短的时间使用,它需要等待时间完成任务3获得它。想象一下,当你听音乐的时候,你想在看音乐之前先看录像和听音乐。如果是这样的话,我想你会发疯的。但是当计算机刚刚出现时,系统只是一个单一的任务。

任务1,任务2…这里描述的任务是运行在IOS系统中的应用程序。

关注作者:需要ios高级研发进阶资料,可以留言或者私聊

幸运的是,多任务系统已经到来。

多任务调度系统

时间片(每个进程被分配一段时间,称为时间片,即进程允许执行的时间)。

注意:因为时间片很短,CPU执行得很快,每个任务几乎都能得到响应并执行它。这些任务同时运作的假象。事实上,只有一个任务是在时间片中执行的。

在这里,我们可以看到这个过程是多任务系统的产物。当我们阅读时,我们对听音乐的渴望感到满意。

关注作者:需要ios高级研发进阶资料,可以留言或者私聊

阿里老程序员12年开发经验分享:iOS进阶和多线程简介

数据

2。线

每个应用程序对应一个进程,系统协调进程之间的关系。但在一个应用程序中,有许多不同的操作,有些操作是紧急的,有些操作是耗时的。

那么如何正确安排这些操作呢?线程应运而生。这个原理类似于上述过程的协调。

所以有时候线程被称为轻量级进程。

线程是进程中独立的执行路径(控制单元)。

进程中至少有一个线程,主线程。

我们可以在其他线程上花费耗时的操作。

UI相关的操作都在主线程中,因此UI在主线程中更新。

在淘宝,例如,有很多图片的网页。如果您在主线程中下载图片,页面将非常卡。因此,您将把下载图片和耗时的操作放在其他线程上。

淘宝的页面加载png图片。

耗时的操作被放置在其他线程中。

关注作者:需要ios高级研发进阶资料,可以留言或者私聊

阿里老程序员12年开发经验分享:iOS进阶和多线程简介

程序

三。使用多线程的优点和缺点

优势:

充分发挥多核处理器的优势,为不同的处理器分配不同的线程,真正进入“并行计算”状态。

将耗时的任务分配给其他线程,以及使用主线程更新接口,将使应用程序更流畅,用户体验更好。

随着硬件处理器数量的增加,程序运行得更快,程序不需要做任何调整。

缺点:

新线程将占用更多内存和CPU,太多线程将降低系统的整体性能。

误解:

多线程技术只是一种并发执行任务,允许更多的优先级和更紧急的操作响应,并不能提高单个算法执行的效率

推荐
点击进群密码:111 更多面试资料等你来拿 更多技术等你来探讨
 
 
posted @ 2020-06-10 15:55  南泽  阅读(154)  评论(0)    收藏  举报