美文网首页Study
进程和线程的区别

进程和线程的区别

作者: 干天慈雨 | 来源:发表于2021-07-03 12:43 被阅读0次

    1.进程的基本原理

    1.1什么是进程?

    进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
    在计算机的硬件资源中,CPU是核心的硬件资源,承担了所有的计算任务;内存资源承担了运行时的数据保存任务;外存资源(硬盘等)承担了数据的外部永久储存的任务。其中,计算任务的调度、资源分配,由操作系统来统领。应用程序以进程的形式,运行在操作系统之上。

    1.2进程的组成

    一般来说,一个进程一般由程序段、数据段和程序控制块PCB(Program Control Block)三部分组成。


    进程的组成

    其中PCB是给操作系统用的,程序段、数据段是给进程自己的用的。
    PCB包含了进程的重要内容,主要由以下四大部分组成:


    PCB的组成
    操作系统对进程进行管理工作所需的信息都存在PCB中,PCB是进程存在的唯 一标志,当进程被创 建时,操作系统为其 创建PCB,当进程结束时,会回收其PCB。

    2.线程的基本原理

    2.1什么是线程?

    可以把线程理解为“轻量级进程”。线程是一个基本的CPU执行单元,也是程序执行流的最小单位。

    2.2为什么要引入线程?

    引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)
    引入线程后,进程只作为除CPU之外的系统资源的分配单元,线程则作为处理机的分配单元
    上面提到了并发,那么在操作系统中并发和并行是什么呢?
    并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
    并行:指两个或多个事件在同一时刻同时发生。
    单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行 ,多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行。

    2.3线程的组成

    一个标准的线程主要由以下三个部分组成:线程描述信息、程序计数器(PC)、和栈内存组成。


    线程的组成

    3.线程和进程的区别

    1.线程是“进程代码段”的一次的顺序执行流程。一个进程由一个或多个线程组成;一个进程至少有一个线程。
    2.线程是 CPU 调度的最小单位;进程是操作系统分配资源的最小单位。线程的划分尺度小于进程,使得多线程程序的并发性高。
    3.线程是出于高并发的调度诉求,从进程内部演进而来。线程的出现,既充分发挥 CPU的计算性能,弥补进程调度的过于笨重。
    4.进程之间是相互独立的;但进程内部各个线程之间,并不完全独立。各个线程之间共享进程的方法区内存、堆内存、系统资源(文件句柄、系统信号等等)。
    5.切换速度不同:线程上下文切换比进程上下文切换要快得多。所以,有的时候,线程也称之为轻量级进程。

    相关文章

      网友评论

        本文标题:进程和线程的区别

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