进程和线程的区别

一、二者定义

进程:进程具有一定独立功能的程序关于某些数据结合上的一次运行活动。进程是系统进行资源分配和调度的一个独立单位。

线程:线程是进程的一个实体,是进程内部的一条执行序列,是CPU调度和分派的基本单位。一个进程至少有一条线程。main函数的执行序列为主线程,通过线程创建函数创建并调用的执行序列位函数线程。

进程是一个正在运行的程序(动态);线程是进程内部的一条执行路径序列;

二、二者区别

1、进程有独立的地址空间,一个进程崩溃后,不会对其他程序产生影响,线程只有自己的栈和局部变量,没有单独的地址空间。

2、一个进程中的所有线程共享全局数据、堆数据,以及进程PCB中的资源,所以线程通信线程间通讯相对比较容易。而进程之间是相互独立的。要想通讯就不需借助特殊的方式。对于一些要求同一个进程并且又要共享某些变量的并发造作,只能用线程,不能用进程。

3、线程切换时,消耗资源较少,效率较高。进程切换时,消耗资源较大,效率差一点。

4、每个独立的进程都有一个程序运行的入口,顺序执行序列和程序出口。但是线程不能够独立执行,必须依赖于进程中,由进程提供多个线程执行控制。

5、从分配资源上是进程属性,从调度、执行上是线程。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值