美文网首页
浅谈多线程(附图)

浅谈多线程(附图)

作者: 依米米一 | 来源:发表于2020-04-26 15:20 被阅读0次

概念:

· 进程:可以理解成一个运行中的应用程序(每一个App(一个进程)都有自己独特的内存和磁盘空间)

· 线程:是进程的基本执行单元,CPU调度的最小单元,一个进程对应多个线程。(作用:执行APP代码)

· 主线程: 一个进程(App)至少有一个线程,这个进程叫做主线程,主要用来处理UI,所有更新UI的操作都必须在主线程上执行。耗时操作不能放在主线程,会卡界面,

· 多线程:在同一时刻,一个CPU只能处理1条线程,但CPU可以在多条线程之间快速的切换,只要切换的足够快,就造成了多线程一同执行的假象,主要目的:将耗时的操作放在后台执行

· 进程与线程的区别:

· 关系:一个进程可以有多个线程,一条线程可以并行(同时)执行不同的任务

· 地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。

· 资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。

· 执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

优缺点:

进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程

两者均可并发执行。

多线程的进程中一个线程崩溃了就会导致进程崩溃,如果是主线程崩溃会导致程序崩溃;但是多进程中子进程崩溃了不会影响到其它进程,程序稳定性更好;

· 多线程:四种pthread,NSThread,GCD, NSOperation

相关文章

  • 浅谈多线程(附图)

    概念: ·进程:可以理解成一个运行中的应用程序(每一个App(一个进程)都有自己独特的内存和磁盘空间) ·线程:是...

  • iOS Crash Debug

    浅谈iOS多线程(源码) iOS log, Crash,Cache App log: xcode → windo...

  • 浅谈python中的多线程和多进程(二)

    原创:hxj7 本文继续分享一个关于python多线程和多进程区别的例子 前文《浅谈python中的多线程和多进程...

  • iOS面试攻略,浅谈多线程开发2(GCD)

    之前写了一篇多线程开发的iOS 面试攻略,浅谈多线程开发1但是没有跟大家聊GCD 就是想把GCD单独放在一篇文章跟...

  • 浅谈多线程

    “简单不先于复杂,而是在复杂之后.” —— Alan Perlis 首先:对于多线程,最简单粗暴的理解:就是同时执...

  • Android 中的同步

    From: [Android教程] 浅谈Java同步锁(Android中的同步) 多线程应用中,我们往往会对同一对...

  • 降智小甜饼 3~4话

    附图

  • 锁的优化

    在前几天的文章:浅谈Java中的锁:Synchronized、重入锁、读写锁 中我们学习了多线程环境下为了保证线程...

  • react native - 收藏集 - 掘金

    浅谈 RxJava 中的线程管理 - Android - 掘金上一篇文章研究了一下RxJava中的多线程并发问题,...

  • 原子操作内存序

    [TOC] 参考 1. C++11多线程-内存模型2. c++并发编程1.内存序3. 浅谈Memory Reord...

网友评论

      本文标题:浅谈多线程(附图)

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