当前位置: 首页 > news >正文

什么是进程线程

一、计算机的基本结构

计算机的结构就是这位大神设计出来的“冯诺依曼”

冯诺依曼设计的计算机结构一直到现在都在使用,主要组成是:

  • 运算器
  • 控制器
  • 存储器
  • 输入设备
  • 输出设备

做为java开发人员,在这些硬件中最需要注意的是 CPU(运算器+控制器),刚开始CPU的研发还一直想办法在CPU上堆更多的晶体管以提高CPU的运算速度,后来遇到瓶颈。研发人员就把方向转向了多核CPU。一块CPU上放多个运算单元,那么CPU就可以同时分别计算,从而提高了CPU在同一时间内运算速度。

那么CPU如何同时运算呢?这个其实就是我们常听到的并发编程(同时执行程序),那么这就需要我们程序员来控制执行的操作。

 

二、什么是进程

进程就是正在执行的程序,以下就是我电脑上正在执行的进程。

进程是系统“资源分配”的基本单位

 

由于系统上有多个进程,需要管理起来,对Linux操作系统来说,使用称为"PCB"这样的结构体(java中的类)来描述进程信息的.

  1. 描述通过 结构体/类 ,把进程的各种属性,表示出来
  2. 组织 通过数据结构,把多个上面的结构体窜起来,简单的认为就是通过链表组织起来,并进行增删改查:创建新的进程(双击exe运行程序),就相当于创建了一个新的PCB结构体加入到链表中。销毁进程,就是把PCB从链表上删除,并且释放PCB结构体。查看刚刚的进程图就是遍历链表,依次显示出对应的信息。

 进程就相当于分配了两房间,两个人分别去吃100只鸡,房间桌子鸡就是资源

三、什么是线程

一个进程其实是一组PCB,一个线程是一个PCB,所以进程是包含线程的。

同一进程下的线程共用同一资源(CPU,内存,硬盘,网络带宽……)。

  • 线程是系统“调度执行”的基本单位
  • 进程是系统“资源分配”的基本单位

做为程序员其实我们真正操作的就是线程

线程比进程更轻,主要在于,创建线程省去了“分配资源”过程。销毁线程,也省去了,“释放资源”过程

 线程就像是同一进程下(同一房间下),多个人去吃100只鸡

但是如果资源吃满了,那么就可能会触发异常,导致整个进程崩溃。(吃不到的人就要掀桌子了)

四、进程和线程的区别

  1. 进程包含线程:一个进程里可以有一个线程,也可以有多个线程,但是不能没有线程。
  2. 进程是系统“资源分配”的基本单位,线程是系统“调度执行”的基本单位
  3. 同一进程里的线程,共用同一份系统资源(内存,硬盘,网络带宽……),尤其注意“内存资源”,就是代码中定义的变量/对象,编程中,多个线程是可以共用同一变量的
  4. 线程是当下实现并发编程的主流方式,通过多线程,就可以充分利用多核CPU,但是,并不是线程数越多越好。线程数目达到一定程度,把多个核心都利用充分之后,此时继续增加线程,无法再提高效率,甚至会影响效率,且一个线程报异常可能会让整个进程崩掉。
  5. 多个线程之间,可能会相互影响。线程安全问题一个线程抛出异常问题,也可能会把其他线程一起带走
  6. 多个进程之间,一般不会互相影响。一个进程崩溃了,不会影响到其他进程。(这一点成为“进程的隔离性”)
  7. 线程比进程更轻,主要在于,创建线程省去了“分配资源”过程。销毁线程,也省去了,“释放资源”过程

相关文章:

  • ubuntu 和 RV1126 交叉编译Mosqutiio-1.6.9
  • linux批量使用多个用户名登录脚本、为了给主机增加一个指定用户名的登录记录、无需root密码的主机切换到root方式
  • 【玩转全栈】---- Pinia 组件状态管理器
  • 卷积神经网络与计算机视觉:从数学基础到实战应用
  • 沉浸式CSS学习路径
  • 【贪心算法3】
  • git设置本地仓库和远程仓库
  • 解决 word 2016 粘贴图片老是乱飘的问题
  • 十分钟用DeepSeek v3快速搭建企业级本地私有知识库(保姆级教程),AI终于私有化了!
  • Java糊涂包(Hutool)的安装教程并进行网络爬虫
  • 训练大模型LLM选择哪种开发语言最好
  • 2.3 DeepSeek SDK接入与鉴权体系设计
  • RabbitMQ (Java)学习笔记
  • electron+vue+webview内嵌网页并注入js
  • Android Glide 框架线程管理模块原理的源码级别深入分析
  • 第七次CCF-CSP认证(含C++源码)
  • 微前端最佳实践:Module Federation 的使用步骤详解
  • OmniParser技术分析(一)
  • c++ constraints与concepts使用笔记
  • 搜广推校招面经四十三
  • 叙利亚多地遭以色列空袭
  • 李在明涉嫌违反《公职选举法》案将于15日进行首次重审公审
  • 西湖大学2025年上海市综合评价招生简章发布
  • 内蒙古公开宣判144件毁林毁草刑案,单起非法占用林地逾250亩
  • 白玉兰奖征片综述丨国产剧集创作的此消彼长
  • 是否进行了及时有效处置?伤者情况如何?辽阳市相关负责人就饭店火灾事故答问