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

浅谈多线程(附图)

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

    概念:

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

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

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

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

    · 进程与线程的区别:

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

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

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

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

    优缺点:

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

    两者均可并发执行。

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

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

    相关文章

      网友评论

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

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