美文网首页ios-面试
ios-进程、线程、队列、同步&异步、并行&串行

ios-进程、线程、队列、同步&异步、并行&串行

作者: 简鱼7819 | 来源:发表于2019-12-04 17:15 被阅读0次

一、进程、线程

1,进程

(1)、系统启动一个应用程序就是开启一个进程,与Android一个应用可能有多个进程,ios的中一个应用程序运行只有一个进程。

(2)、进程会开辟一块独立的内存空间,该内存空间被保护,不做申请不得访问该内存空间

(3)、代码中进程是由UIApplication管理的,跨进程访问与URL Schemes和info.plist中设置白名单有关

2,线程

(1)、线程依赖进程存在,且一个进程至少持有一个线程,例如刷新UI的主线程

(2)、线程是CPU最小调度单元

(3)、线程的作用就是执行App中的功能代码,进程中所有任务都是通过线程来执行完成的

(4)、线程独立运行,一个线程不知道其他线程具体执行内容

(5)、多线程并行时,线程有着优先级,优先级低的多线程时可能被挂起,方便其他线程执行

(6)、一个线程同时执行多个任务,只能顺序执行。因为同一时间一个线程只能执行一个任务

3,进程和线程的联系

(1)、进程负责整个App生命周期,线程负责这个进程中功能的实现

(2)、进程负责开辟独立内存,线程们可以分享使用这块内存空间

二、队列、同步&异步、并行&串行

1,队列

队列是用来保存管理任务的,日常开发中经常用到队列和线程结合使用,就是线程去队列中取任务进行执行

队列主要分为:串行队列并行队列主队列,串行队列和并行队列里面又分同步异步

2,同步、异步

同步和异步决定了要不要开启新的线程

同步:在当前线程中执行任务,不具备开启新线程的能力

异步:在新的线程中执行任务,具备开启新线程的能力

3,并行、串行

并发和串行决定了任务的执行方式

并行:多个任务并发(同时)执行,异步是多个任务并行的前提

串行:一个任务执行完毕后,再执行下一个任务

参考链接https://www.jianshu.com/p/68b274548069

参考链接https://blog.csdn.net/u010231453/article/details/53542672

相关文章

  • GCD

    1、同步串行队列 2、同步并行队列 3、异步串行队列 4、异步并行队列 5、死锁 主线程中创建同步串行队列 主线程...

  • 多线程开发中的一些基本概念的理解

    进程、线程、队列(串行队列、并行队列)、同步(dispatch_sync)、异步(dispatch_async)、...

  • GCD 相关函数

    串行同步 串行异步 并行同步 并行异步 主队列同步 会死锁 主队列异步 异步处理耗时,回主线程刷新UI 栅栏函数 ...

  • 【iOS出租屋进阶】之多线程GCD详解

    线程、任务和队列的概念 异步、同步 & 并行、串行的特点 组合 |并行队列|串行队列 |主队列----|----|...

  • GCD基础总结一

    上代码~ 同步串行队列 同步并行队列 异步串行队列 异步并行队列 主队列同步 会卡住 主队列异步

  • iOS多线程(一)

    多线程涉及到的概念: 进程,线程,主线程,任务,队列,死锁,串行,并行,同步,异步,GCD,NSOperation...

  • iOS多线程小结

    同步异步串行并行 同步串行:不开启线程 同步并行:不开启线程 异步串行:最多开启一个线程 异步并行:开启线程 同步...

  • iOSIN-GCD

    队列和同步异步 区别并行队列串行队列主队列同步(sync)没有开启新线程,串行执行任务没有开启新线程,串行执行任务...

  • 多线程GCD的使用

    一、同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系。 2.串行/并行 串行、并行...

  • Swift队列和线程的搭配执行

    队列分为 串行队列,并行队列,特殊的主队列线程分为 同步线程,异步线程 搭配结果一共6种情况1:主队列,同步线程。...

网友评论

    本文标题:ios-进程、线程、队列、同步&异步、并行&串行

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