【多线程初阶篇¹】线程理解| 线程和进程的区别

目录

一、认识线程Thread

1.为啥引入线程

2.线程理解

[🔥 3.面试题:线程和进程的区别](#🔥 3.面试题:线程和进程的区别)


一、认识线程Thread

1.为啥引入线程

为了解决进程太重量的问题

解释(为什么说线程比进程更轻量?/为什么说线程创建/销毁开销比进程小?)

要想充分利用CPU,如果单单靠进程,创建和消耗开销大,但是创建线程,资源早就分配好了,所以就省去了创建和销毁的开销

2.线程理解

(1)可以理解为进程的一部分,一个进程可以包含一个/多个线程(一个PCB描述的其实就是一个线程)

(2)同一个进程中的若干个线程之间,是共用相同的内存资源和文件资源 的,但是每个线程都是独立在CPU上调度执行的(线程是系统调度执行的基本单位)

(3)进程和线程的效率差不多,但是进程的消耗成本高.

举例理解:

  • 这样效率就比较低

  • 引入进程,(多一个房间和桌子,一个桌子50只鸡)

  • 引入线程(多个滑稽在一起吃)

  • Q1:能不能无限引入进程?

    • 线程调度开销明显,效率降低
  • Q2:线程数量合适,还会不会存在问题

    • 还是存在线程竞争,线程安全问题
    • 如果一个线程抛出异常,就会使整个进程退出(其他线程也就没了)

🔥 3.面试题:线程和进程的区别

  • 线程为进程的一部分,线程是系统调度执行的基本单位,进程是系统分配资源的基本单位(基本单位)
  • 进程存在太重量的问题,创建和销毁的开销大(开销)
  • 线程之间切换更快,因为线程共享相同的上下文和资源(速度)
  • 进程有独立的空间和资源,而线程共享同一进程的空间和资源(资源和空间)
  • 进程相对独立,一个进程的崩溃不会影响其他进程,而线程会影响(独立性)
相关推荐
装不满的克莱因瓶几秒前
掌握语义分割经典模型 FCN——从像素分类到端到端分割的奠基之作
人工智能·python·深度学习·算法·机器学习·分类·数据挖掘
ACP广源盛139246256731 分钟前
GSV5600@ACP#多接口协议转换芯片,物理 AI 便携终端的互联核心
大数据·人工智能·分布式·嵌入式硬件·spark
لا معنى له1 分钟前
NeoVerse: Enhancing 4D World Model with in-the-wild Monocular Videos
人工智能·笔记·机器学习·语言模型
147API2 分钟前
Fable 5访问暂停后,模型接入层不能再只写死一个模型名
大数据·人工智能·api·claude
黄毛火烧雪下3 分钟前
Java 基础笔记:文件、递归与字符编码
java·开发语言·笔记
KaMeidebaby4 分钟前
卡梅德生物技术快报 | 噬菌体展示 12 肽文库在蛋白表位定位中的应用与实验数据
大数据·人工智能·架构·spark·新浪微博
学计算机的计算基5 分钟前
链表算法上篇:LeetCode 206/234/141/142/160/21 题解与易错点
java·笔记·算法·链表
信也科技布道师7 分钟前
从Istio 503 NC 错误深入理解 Mesh 路由全链路原理
java·服务器·网络
JIAXIN_culture10 分钟前
甘肃景观工程定制服务FAQ:企业如何选对合作方?
大数据·人工智能
青绿蓝LCA低碳研究院11 分钟前
环保的本质:从“末端修补”到“系统重构”的生存范式转移 - 蓝色星球
大数据·人工智能·经验分享·重构