美文网首页
【浏览器】线程和进程

【浏览器】线程和进程

作者: SophieRabbit | 来源:发表于2020-03-24 13:35 被阅读0次

    1.进程与线程的区别

    1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;

    2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线;

    3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率;某进程内的线程在其他进程不可见;

    4. 调度和切换:线程上下文切换比进程上下文切换要快得多;

    5.线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制

    2.关系

    一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

    相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列

    进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

    3.优缺点

    线程和进程在使用上各有优缺点:

    线程执行开销小,但不利于资源的管理和保护;而进程正相反。

    同时,线程适合于在SMP(对称多处理结构的简称)机器上运行,而进程则可以跨机器迁移。

    相关文章

      网友评论

          本文标题:【浏览器】线程和进程

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