首页 > 系统相关 >进程和线程之间的区别

进程和线程之间的区别

时间:2024-07-13 11:19:46浏览次数:12  
标签:开销 区别 程序 独立 线程 进程 执行

进程与线程的区别总结

线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。

根本区别:

进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位

资源开销:

每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

包含关系:

如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

内存分配:

同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的

影响关系:

一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。

执行过程:

每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/ThinkWon/article/details/102021274

标签:开销,区别,程序,独立,线程,进程,执行
From: https://www.cnblogs.com/XG-madman/p/18299849

相关文章

  • 总结系统IO和标准IO的区别
    Linux系统IO:除了open函数之外,其它的函数第一个形参都是文件描述符。对文件进行IO操作:写入和读取操作是没有缓存操作。write因为没有缓存的操作,如果IO操作的数据很多的情况下是不建议使用,特别是那种多媒体数据文本文档数据。因为没有缓存的操......
  • Vue2与Vue3的区别
    Vue2官方已经发布不再维护了,很多公司也开始纷纷使用vue3了。那么vue3和vue2有哪些不同呢?vue3(下面简称v3)又在vue2(下面简称v2)上做了哪些拓展与改进呢?(1)首先最大的区别是数据双向绑定的改进,v2用的是es5的数据劫持Object.definedProperty,这个会一开始就给所有的数据设置了监听,比......
  • 线程池的概念和创建
    一,什么是线程池线程池是在应用程序启动时创建一定数量的线程,并将它们保存在线程池中。当需要执行任务时,从线程池中获取一个空闲的线程,将任务分配给该线程执行。当任务执行完毕后,线程将返回到线程池,可以被其他任务复用。二,线程池的运行机制1.当任务到达最大时,线程池管理......
  • 浅谈HTTP中Get与Post的区别
    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/......
  • 自定义ResultMap中的id 和result的区别
    <resultMapid="CashInvoiceMap"type="com.dfire.soa.invoice.bo.Invoice">  <idcolumn="id"property="id"/>  <resultcolumn="order_id"property="orderId"/>  <resultco......
  • Mybatis association与collection的区别
    mybatisassociation与collection的区别:一、一对一 association通常用来映射一对一的关系1<resultMaptype="cn.itcast.mybatis.po.Orders"id="OrdersUserResultMap">23<!--配置映射的订单信息-->4<idcolumn="id"prope......
  • TPS和QPS的区别
    1、TPS(TransactionsPerSecond):每秒事务数。一个事务是指客户端向服务器发送请求然后服务器做出反应的过程,具体的事务定义,可以是一个接口、多个接口、一个业务流程等,事务可以是一个完整的业务操作,如转账、下单等,通常涉及多个数据库操作。以单接口定义为事务举例,每个事务包括......
  • Avalon MM 接口的PIO的bidir和inout的区别
     当我们设置PIO这个IP的方向的时候,可以看到: Input和Output一个是输入,一个是输出,那么Bidir和InOut有什么区别呢? bidir,指n位宽的信号中的每1bit,可以单独分别设置为读还是写。inout,指将n位宽的信号,全设置为读或写。只有设置为bir模式的时候,才存在direction寄存器,用于控制......
  • 【日常记录-Java】自定义进程池
    Author:赵志乾Date:2024-07-12Declaration:AllRightReserved!!!1.简介    服务器上有些进程需要池化管理,使用SpringBoot构建Web服务提供管理api,内部使用自定义的进程池维护已启动的进程;    核心点: 进程池管理的进程都会使用系统的一个端口对外提供服务; ......
  • 文件存储、块存储、对象存储的区别及应用
    引言    在现代计算机系统和网络中,数据存储是至关重要的。随着数据量的爆炸式增长,如何高效、可靠地存储和管理数据成为了一个重要的挑战。文件存储、块存储和对象存储是三种主要的数据存储方式,它们各自具有独特的特性和适用场景。本文将详细探讨这三种存储方式的定义......