多线程的基本概念

什么是多线程呢?多线程有什么用呢?我们先看看与之相关的各种简单概念。

     第一个我们先说说什么是进程,进程顾名思义就是当前程序中正在跑的应用程序,比如说迅雷啊,QQ啊等应用程序。而一个进程要想执行各种任务,就必须要有线程(其中一个进程至少要有一条线程),一个进程中所有任务其实都在线程上执行。

进程

然而每一条线程任务的执行是串行的,所有如果要在一个线程中执行多个任务,那么只能一个一个顺序执行。所以可以认为线程是进程中的一条执行路径。

线程

多线程

一个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务

-多线程的原理:

执行原理

同一时间,单核CPU只能处理一条线程,只有一条线程工作

多线程并发(同时)执行:其实是CPU快速地在多条线程之间调度(切换)

多线程的优缺点

优点:

能适当提高执行效率,提高资源的利用率

缺点:线程过多会消耗时间和空间资源,降低执行效率,开一条子线程512KB,主线程1M,开一条线程大概90毫秒。

如果开启大量线程,会降低程序的性能,线程越多,同一时间CPU的调度频率越少

程序设计更复杂:比如线程之间的通信和线程之间的数据共享等

主线程:程序开启后默认会开启一个线程叫主线程,又叫UI线程,主要处理UI事件,用户交互,界面刷新等任务

说了半天多线主要是用来干嘛的呢?其实说白了就是将耗时任务放到子线程中处理,主线程中主要处理用户的点击,交互,刷新UI等,用户就不会觉得的卡了,增强用户体验,和执行效率也在无形中获得提升,你说他屌不屌,一般我们在iOS开发中的多线程实现方案大概有以下4种。

iOS中多线程的实现
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 进程 1.基本概念进程是指在系统中正在运行的一个应用程序 2.进程的特点a. 每个进程之间都是独立的b.每个进程都...
    Mario_ZJ阅读 465评论 0 0
  • 一. 进程和线程 进程系统中正在运行的程序, 称之为一个进程每个进程, 都在自己独立的内存空间运行, 并且进程之间...
    面糊阅读 589评论 0 50
  • 文 || 張贺 进程: 进程是指在系统中正在运行的一个应用程序。每个进程之间是独立的,每个进程均运行在其专用且受保...
    張贺阅读 338评论 0 4
  • 模拟耗时操作 耗时操作对UI的影响 : 会卡死UI / 界面 / 主线程 如何解决耗时操作卡死主线程? 使用多线程...
    芒果不可思议阅读 286评论 0 0
  • 文章目录: 一、清晰表现每一章的逻辑脉络 二、带走书中所有的亮点 三、大量自己的看法和心得 四、发现该书与以前读过...
    消费后生产阅读 707评论 0 0

友情链接更多精彩内容