进程和线程的理解

    xiaoxiao2021-11-24  61

    但凡在近几年的很多搞软件开发的面试中,进程和线程可谓是必考的两项,因此作如下的总结:

    从计算机发展至今,进程的概念众说纷纭,然而进程就是强调并发性和动态性

    1.进程

             概念:进程是程序的一次执行,该程序可与其他程序并发执行

             组成:程序、数据集合、进程控制块

             进程控制块:进程标识名或标识数、位置信息、状态信息、进程优先级、进程现场保护区、资源清单、队列指针和链接字、其他

            基本调度状态:运行、就绪、阻塞

            调度方式:非剥夺方式、剥夺方式

    2.线程

           概念:进程内的一个执行单位或者进程内的一个可调度的实体

    3.二者的关系

          线程是进程的一个组成部分

          进程的多线程都在进程的地址空间活动

         资源是分给进程的而不是分给线程的处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程

        线程在执行过程中需要同步

    4.二者的区别

        进程的执行过程是线状的

        进程拥有一个完整的虚拟地址空间,不依赖于线程而独立存在,反之,线程是进程的一部分,没有自己的地址空间,与所属进程内的其他线程共享进程所有资源

        线程的改变只代表了CPU执行过程的改变,而没有发生进程所拥有资源的变化

        除了CPU之外,计算机内的所有软硬件资源的分配与线程无关,线程是处理器调度的基本单位,也是分配的基本单位

        总的来说,可从调度、并发、拥有资源

        系统开销:在创建和撤销进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤销线程时的开销,但是进程有独立的地址空间,一个进程奔溃后,在

       保护模式下不会对其他进程产生影响。而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有独立的地址空间,一个线程死掉就等于整个进    程死掉,所以多进程的程序比多线程的程序健壮

    转载请注明原文地址: https://ju.6miu.com/read-678484.html

    最新回复(0)