前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >进程 和 线程 的含义和区别???

进程 和 线程 的含义和区别???

作者头像
浩说编程
发布2022-11-11 09:44:58
3450
发布2022-11-11 09:44:58
举报
文章被收录于专栏:Java经验之谈Java经验之谈

视频版 - 看着更方便:

哔哩哔哩(横板)👉 https://b23.tv/I5lST33

小红书(竖版)👉 http://xhslink.com/ROqfmi

提到 "区别"这个词

你在网上看到的说明方式可能是 一条条列出来 这种:

第一点......

第二点......

第三点......

这种 背诵式 的说明不利于我们理解

更适合应付面试

所以我会从 历史 的角度出发

通过 进程 和 线程 产生的过程

来帮助大家更好的理解

它们的含义和区别

👉创作不易:点赞分享+关注!!!

01 | 单命令处理

我们知道在 计算机 刚刚出现的时候

它的工作模式非常简单:

我们输入命令

计算机执行命令

输出计算结果

这种模式存在着效率问题

怎么说呢?

计算机的执行速度是远高于我们输入命令的速度的

也就是说

一条命令计算机可能一秒就执行完了

但是等待我们输入命令的时间却要十秒钟

02 | 批处理

为了 规避 这个 等待的时间,提升效率

”批处理“的概念产生了

意思就是说我们把需要执行的 命令集合 预先写好

然后直接把这个 批处理文件 交给计算机

由计算机逐条处理

不过好景不长

随着计算机功能的强大

"批处理"的方式也有效率问题了

你计算机再快也挡不住我批处理命令多啊

03 | 进程

为了进一步提升效率

"进程"的概念产生了

怎么个意思呢?

我将你这些命令 按照 程序 归类

并为 归类后的命令集合 分别创建一个 "进程"

每个进程都会分配独立的内存空间

且进程之间互不影响

然后配合 多核cpu 来实现进程的 并行处理

这种 并行处理 的思路让计算机的执行效率进一步提升了

04 | 线程

有了"进程"的基础

"线程"的概念也就顺势出现了

既然 进程可以并行执行

那么是不是可以做的极致一点

将进程中的每条子命令也并行执行

比如线程2中的命令很少

那么当进程二执行完的时候

如果别的线程中还有命令没执行完

我就可以为别的进程中的每个子命令 建立一个 线程 来执行命令

05 | 进程 和 线程的关系

也就是说 线程 是 进程 的子任务

且所有 线程 共享所属 进程 的资源

所以 线程 就变成了 计算机执行处理的最小单位

而 进程 就是 计算机分配资源的最小单位

这样一来就更好的利用了多核cpu

更进一步的提升了计算机的工作效率

这就是 进程 和 线程 出现的缘由和作用

我是浩说

帮你入门到放弃

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩说编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档