美文网首页
iOS多线程 - 基本概念

iOS多线程 - 基本概念

作者: YANGXIXIYear | 来源:发表于2019-04-08 21:27 被阅读0次

一、进程

1、定义:
进程是指 系统中正在运行的一个应用程序,每个进程都运行在其专有的空间内,故一个进程不能访问另外一个进程的独有空间。

2、进程的五种状态:


进程的状态.png

二、线程

1、定义:
线程是进程的基本执行单元,进程的所有任务都在线程中执行,故一个进程想要执行任务必须得有一个线程,这个线程也被成为主线程(UI线程)

2、多线程(资源共享、线程读写):
· 网络请求:异步请求(不阻塞UI线程完成任务),在请求时可以操作UI,保证客户端的流畅性;
· 图片加载:下载---缓存---显示---再次使用取缓存
· 文件处理
· 数据存储
· 任务执行

三、任务执行的方式

1、串行:顺序依耐,按照时间顺序依次完成 串行.png 2、并行:同时执行 并行.png

四、多线程原理 单核操作系统.png

操作系统采用时间片轮转调度算法为每个进程分配时间段,单核操作系统,同一时间只能有一个线程执行,为保证多线程高效执行,交替性分配时间片执行任务

多核操作系统.png

五、多线程优缺点

1、优点:
· 简化了编程模型:切割大型任务,合并零散的任务
· 更加轻量级
· 提高执行效率
· 提高资源利用率

2、缺点:
· 增加程序设计的复杂性(eg: 操作一个数据库时,一个线程在做写操作,另一个线程是无法进行写操作的,否则会出错;若一个变量在不同的两个线程中被修改了值,读值的时候可能出错)
· 占用内存空间(程序内存)
· 增加cpu调度开销(分配时间段)

相关文章

  • iOS原理(八)----多线程

    iOS原理(八)----多线程 基本概念 iOS常见的多线程方案有以下四种: pthread:是一套通用的多线程C...

  • iOS多线程之NSThread

    前面总结了多线程基本概念和iOS多线程PThread的使用,下面接着总结iOS多线程的另外一种实现方案NSThre...

  • iOS开发多线程那些事儿

    iOS中的多线程 iOS中多线程实现的多种技术方案: 多线程的两组基本概念 串行(Serial):在固定时间内只能...

  • iOS 多线程

    前言:这可能是史上最全面的一篇iOS 多线程博客了(王婆卖瓜一番?),从多线程的基本概念,进程的概念,引出iOS中...

  • iOS多线程浅汇-实战篇

    一、前言 上一篇文章iOS多线程浅汇-原理篇中整理了一些有关多线程的基本概念。本篇博文介绍的是iOS中常用的几个多...

  • 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...

  • iOS 多线程

    ​ 前言:这可能是史上最全面的一篇iOS 多线程博客了(王婆卖瓜一番?),从多线程的基本概念,进程的概念,引出i...

  • iOS 底层 day19 多线程基本概念 GCD线程死锁总结

    一. 关于多线程中的一些基本概念 1. iOS 中有几种多线程方案有哪几种?分别简述一下。 二. GCD 中的一...

网友评论

      本文标题:iOS多线程 - 基本概念

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