进程和线程区别

本文探讨了进程和线程的基本概念,强调了它们在资源分配、系统资源共享、崩溃影响及上下文切换开销方面的差异,并指出线程间的通信相对更简便。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)进程是 cpu 资源分配的最小单位,线程是 cpu 调度的最小单位。

2)进程有独立的系统资源,而同一进程内的线程共享进程的大部分系统资源,包括堆、代码
段、数据段,每个线程只拥有一些在运行中必不可少的私有属性,比如 tcb,线程 Id,栈、寄存器。

3)一个进程崩溃,不会对其他进程产生影响;而一个线程崩溃,会让同一进程内的其他线
程也死掉。

4)进程在创建、切换和销毁时开销比较大,而线程比较小。进程创建的时候需要分配系统
资源,而销毁的的时候需要释放系统资源。进程切换需要分两步:切换页目录、刷新 TLB 以使用
新的地址空间;切换内核栈和硬件上下文(寄存器);而同一进程的线程间逻辑地址空间是一样
的,不需要切换页目录、刷新 TLB。

5)进程间通信比较复杂,而同一进程的线程由于共享代码段和数据段,所以通信比较容易。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源代码大师

赏点狗粮吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值