视频版 - 看着更方便:
哔哩哔哩(横板)👉 https://b23.tv/I5lST33
小红书(竖版)👉 http://xhslink.com/ROqfmi
提到 "区别"这个词
你在网上看到的说明方式可能是 一条条列出来 这种:
第一点......
第二点......
第三点......
这种 背诵式 的说明不利于我们理解
更适合应付面试
所以我会从 历史 的角度出发
通过 进程 和 线程 产生的过程
来帮助大家更好的理解
它们的含义和区别
👉创作不易:点赞分享+关注!!!
01 | 单命令处理
我们知道在 计算机 刚刚出现的时候
它的工作模式非常简单:
我们输入命令
计算机执行命令
输出计算结果
这种模式存在着效率问题
怎么说呢?
计算机的执行速度是远高于我们输入命令的速度的
也就是说
一条命令计算机可能一秒就执行完了
但是等待我们输入命令的时间却要十秒钟
02 | 批处理
为了 规避 这个 等待的时间,提升效率
”批处理“的概念产生了
意思就是说我们把需要执行的 命令集合 预先写好
然后直接把这个 批处理文件 交给计算机
由计算机逐条处理
不过好景不长
随着计算机功能的强大
"批处理"的方式也有效率问题了
你计算机再快也挡不住我批处理命令多啊
03 | 进程
为了进一步提升效率
"进程"的概念产生了
怎么个意思呢?
我将你这些命令 按照 程序 归类
并为 归类后的命令集合 分别创建一个 "进程"
每个进程都会分配独立的内存空间
且进程之间互不影响
然后配合 多核cpu 来实现进程的 并行处理
这种 并行处理 的思路让计算机的执行效率进一步提升了
04 | 线程
有了"进程"的基础
"线程"的概念也就顺势出现了
既然 进程可以并行执行
那么是不是可以做的极致一点
将进程中的每条子命令也并行执行
比如线程2中的命令很少
那么当进程二执行完的时候
如果别的线程中还有命令没执行完
我就可以为别的进程中的每个子命令 建立一个 线程 来执行命令
05 | 进程 和 线程的关系
也就是说 线程 是 进程 的子任务
且所有 线程 共享所属 进程 的资源
所以 线程 就变成了 计算机执行处理的最小单位
而 进程 就是 计算机分配资源的最小单位
这样一来就更好的利用了多核cpu
更进一步的提升了计算机的工作效率
这就是 进程 和 线程 出现的缘由和作用
我是浩说
帮你入门到放弃