进程和线程的区别与联系

一、什么是进程

进程的相关知识总结

二、什么是线程

1、为什么要有线程

        进程存在的意义,就是让操作系统可以同时执行多个任务,实现“并发编程”的效果,虽然多进程可以实现“并发编程”,但同时也存在一个重要的问题:如果频繁地创建/销毁进程,操作系统就需要频繁地分配资源/回收资源,这个操作就比较低效。

        针对上述问题,聪明的程序猿就发明了“线程”。

2、什么是线程

        线程被包含在进程之中,是进程中的实际运作单位。一个进程在至少有一个线程,每个线程都是一个“执行流”,可以单独地在CPU上进行调度。

        同一个进程中的线程共用一份系统资源(内存资源+文件资源),因此线程也被称为“轻量级进程”:只有在创建第一个线程的时候,需要申请系统资源,后续的线程与第一个线程共用一份系统资源,因此节省了申请资源的时间消耗;销毁线程的时候,只有在销毁最后一个线程的时候,才会真正释放系统资源,在此之前销毁的线程,都不会真正释放系统资源。

        在操作系统内核中,用一组PCB来描述一个进程,而每个PCB对应一个线程,这些PCB上的内存指针、文件操作符表是同一份,但进程状态、进程优先级、进程上下文、进程记账信息则是每个PCB(线程)各有一份独立的。因此可以说,进程是资源分配的基本单位线程是系统调度的基本单位。   

三、总结

进程与线程的区别和联系:

(1)进程包含线程,一个进程中至少有一个线程。

(2)线程比进程更轻量,创建速度更快,销毁速度也更快。

(3)同一个进程中的多个线程共用一份系统资源;多个进程之间则是各自使用独立的系统资源。

(4)进程是资源分配的基本单位;线程是系统调度的基本单位

        

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

吃点橘子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值