这可能是最全面的进程与线程区别总结

健康频道 2019-09-2394未知admin

  组成与结构区别。进程是一个实体。每个进程都有其的地址空间,一个进程包括:程序代码、当前活动和相关数据(Stack栈--通常是临时数据,如局部变量、函数参数、返回地址等;Heap堆--通常是程序运行中申请的动态内存;数据段--通常是全局变量)。线程是一个轻型实体,一个标准线程包括线程ID、当前指令指针、寄存器集合和堆栈。进程线程都有程序段、数据段,只不过进程由进程控制块(PCB)记录进程的外部特征和描绘进程的动态变化过程。线程由线程控制块(TCB)来描述线程的动态变化;

  进程是系统资源分配的基本单位,有的内存空间和系统资源;线程是系统调度和分配的基本单位,与进程中的其他线程贡献进程的资源。处理机分给线程,即处理机上真正运行的是线程;

  动态性。进程是程序在多道程序中的一个执行过程,它是动态产生和动态的,有自己的声明周期和各种不同的状态。同样,线程作为进程中的一个轻量级进程,也有其生命周期和不同状态。进程和线程的各种状态变化分别如图1-2和图1-3所示;

  并发性。不仅进程之间可以并发执行,同一进程中的线程也可以并发执行。但是线程间需要消息通信的方法实现同步。进程之间相互,通信比较困难,而线程共享一段区域,通信比较方便。进程执行的过程中包含比较固定的入口、执行顺序、出口,而线程的这些过程会被应用程序所控制;

  系统开销。在创建和撤销进程时,系统都要为之分配和回收资源,所导致系统开销要明显大于创建和撤销线程时的系统开销。

Copyright © 2010-2020 叁伍壹叁伍网 版权所有  

联系QQ:1352848661