首页 > 系统相关 >进程与线程的区别

进程与线程的区别

时间:2022-10-23 23:57:22浏览次数:72  
标签:管理器 区别 线程 进程 多线程 资源

进程与线程的定义和简单比喻

   首先简单介绍一下进程与线程的定义。

进程

  进程是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。

  简单的说,在手机或电脑开启一个应用就算是打开一个进程,如下图:打开一个WSP Office.exe,打开任务管理器就可以直观的了解进程的定义。

  这里显示了所有当前正在运行的进程,包括应用程序、后台服务等,那些隐藏在系统底层深处运行的病毒程序或木马程序都可以在这里找到。

  注:任务管理器中:Windows 8及以后版本把“进程”与“应用程序”合并,称之为“进程”。

               

线程

  线程是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。

  按我的理解就是:如果要运行一个进程,需要多个线程来一起配合才能正常运行,如下图:点开任务管理器WPS下的向右箭头,就可以看到以下的图示,

  下面罗列的可能是运行WPS的部分子线程(我也不知道是不是全部线程,如果有错欢迎大家在评论区指正)。

             

进程有单线程多线程的区别,这里就不一一罗列。老师上课讲的暂时不太明白(JVM 角度说进程和线程之间的关系),需要进一步理解的可以去文章尾部查看参考文章

进程与线程的区别

类别 区别
地址空间 线程共享本进程的地址空间,而进程之间是独立的地址空间。
资源 线程共享本进程的资源如内存、I/O、cpu等,不利于资源的管理和保护,而进程之间的资源是独立的,能很好的进行资源管理和保护。
健壮性 多进程要比多线程健壮,一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。
执行过程 多进程要比多线程健壮,一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。
可并发性 两者均可并发执行。
切换时 进程切换时,消耗的资源大,效率高。所以涉及到频繁的切换时,使用线程要好于进程。同样如果要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程。
其他 线程是处理器调度的基本单位,但是进程不是。

 

进程和线程的根本区别在于隔离性,互不信任的多个任务应当放到多个进程中实现强隔离。但这样会对性能带来挑战,

所以前沿的研究在探索高效的、细粒度的进程间隔离技术,比如这个论文https://www.usenix.org/conference/atc20/presentation/ren

 

参考文章: 进程和线程的区别(超详细)_ThinkWon的博客-CSDN博客_进程和线程

标签:管理器,区别,线程,进程,多线程,资源
From: https://www.cnblogs.com/dzxdwybk/p/16820074.html

相关文章

  • 进程与线程的区别
    一、线程的基本概念线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但......
  • 查看进程使用的线程数量
    1、找到目标进程可以使用ps-ef命令,通过grep关键字来找到目标进程比如我想查看一个监控(prometheus)的进程,结果如下所示:红框内即为监控的进程号2、方法1:pstree命令pstree-p......
  • 进程和线程的区别
    1、进程:是程序的一次执行过程,是一个动态概念,是程序在执行过程中分配和管理资源的基本单位,每一个进程都有一个自己的地址空间,至少有5中基本状态,它们是初始态,执行态,等待状态,......
  • 无向图中 生成树,完全图,连通图 的区别
    图按照有无方向分为无向图和有向图。无向图由定点和边构成。有向图由定点和弧构成,弧有弧尾和弧头之分。 如果任意两个顶点之间都存在边叫做完全图。......
  • 进程与线程的区别
    进程一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。线程进程中的一个执行......
  • 线程与进程的区别
     进程是资源分配的基本单位,线程是调度的基本单位。这是一句名言,很好地概括了两者的区别。用一句话来概括就是:进程对应操作系统,线程对应CPU。我们常说的任务调度,其实通......
  • 线程和进程的区别
    进程:是指一个内存中运行的应用程序(已经在内存中运行的程序).一个进程都有一个独立的内存空间,一个电脑(手机)可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行......
  • 线程和进程的区别
    ①概念:1.进程:一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。 2.线程:......
  • 守护线程、锁Synchronized
    一、守护线程(DaemonThread)1.1简介比如垃圾回收线程,就是最典型的守护线程。Java程序入口就是由JVM启动main线程,main线程又可以启动其他线程。当所有线程都运行结束时,JV......
  • 进程和线程
    在我的理解中.进程是一个很大的东西,它占据着自己独有的一片内存空间和各种资源,而线程却很惨.为什么这么说呢,众所周知,进程掌握了大量的资源,就跟老板一样,很有钱,然......