进程与线程

进程是资源分配和调度的基本单位,而线程是程序执行的最小单位,也是处理器时间分配的基本单位。同一进程的线程共享地址空间和资源,进程间的资源独立。线程间的崩溃可能影响整个进程,而进程崩溃不影响其他进程。多线程适合高效并发执行和共享变量操作,多进程则提供更好的资源管理和保护。选择使用多线程还是多进程取决于对效率和资源管理的需求。
摘要由CSDN通过智能技术生成

进程(Process)

1.资源分配和调度的基本单位;

2.线程的容器,程序的实体;

程序:数据和指令的集合,是一个静态概念。

3.正在执行的程序(动态性);

4.具有生命周期(对比程序)。

线程(Thread)

1.程序执行的最小单位,进程的一个执行单元;

一个进程可并发多个线程,每个线程可并行执行不同的任务。

2.系统分配处理器时间资源的基本单位。

两者区别

1.地址空间:同一进程的线程共享本进程的地址空间,而进程之间的地址空间相互独立;

2.资源拥有:同一进程的线程共享本进程的资源(如:内存、I/O、CPU...),而进程间资源独立;

3.崩溃后果:在保护模式下,进程崩溃不对其他进程造成影响,但一个线程崩溃整个进程都会死掉。因此,多进程比多线程健壮

4.切换代价:进程切换消耗资源大,效率高

涉及频繁切换是,进程优于线程。但若要求同时进行并且又要共享某些变量的并发操作,只能用线程不能用进程。

两者优缺点

线程执行开销小,但是不利于资源的管理和保护。

进程执行开销大,但是能够很好的进行资源管理和保护。

如何选取

多进程:对资源的管理和保护要求高,不限制开销和效率。

多线程:要求效率高,频繁切换时,资源的保护管理要求不是很高。

单线程和多线程

单线程:只有一条线程在串行地执行任务。

多线程:多条线程并发执行任务(时间片轮转)。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LeoMove

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值