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


    一、什么是进程

    进程的相关知识总结

    二、什么是线程

    1、为什么要有线程

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

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

    2、什么是线程

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

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

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

    三、总结

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

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

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

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

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

            

  • 相关阅读:
    八股操作系统和计算机网络
    HarmonyOS开发实例:【分布式手写板】
    Redis哨兵机制配置实战-实测(Redis6.2.5版本)
    SparkSQL入门
    第11章 SwaggerUI企业服务文档构建
    实现React模板打印
    Google 代码审查指南
    剖析一下"抢茅台"脚本底层逻辑
    参考线平滑-FemPosDeviation-SQP
    基于AVR128单片机抢答器控制系统
  • 原文地址:https://blog.csdn.net/m0_67683346/article/details/126406381