Bash   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Unix|Linux系列知识(2)——进程与线程大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
- 前言

每次说道进程与线程区别,是不是很慌,很难说清。当然每个人的理解也有出入。本文将以我个人的理解来讲述进程与线程区别。

首先聊聊背景
大家都知道摩尔定律吧!大概是这么个意思,

可想而知,cpu发展至今,性能已提升不知道多少倍了。当然cpu的速度也肯定很快很快了,以至于寄存器和硬件资源(比如显卡,光驱,键盘,GPS等外设)都无法追上他的步伐。

cpu执行多个任务时,当cpu早早的执行完一个任务(一段程序代码),不可能一直等啊等,等待硬件资源来处理完该任务输出的数据再执行下一个任务。
怎么办呢?当然是执行完一个任务立刻马上执行下一个任务。

这里理理cpu执行逻辑。假设有程序A、程序B两个任务,
cpu先加载程序A的上下文,然后执行程序A,保存程序A的上下文;
cpu再加载程序B的上下文,然后执行程序B,保存程序B的上下文。

- 什么是进程

说到这,我们再聊聊进程

换句话就是进程用来分配cpu的时间,内存等等。接着上面的例子,进程A分配好cpu的时间,内存等等,执行A任务(程序A);当时间片到,进程B分配好cpu的时间,内存等等,执行B任务(程序B)。

每次进程间的切换,都要保存上下文,分配资源,是一笔较大的开销。

- 什么是线程

聊聊线程

换句话就是每个进程分配好cpu的时间、内存后。线程将cpu的时间划分的更细,并且共享进程的上下文,分配好的内存。缺点是内存难管理。

-总结

写的不是很好,感觉还需要更好的理解。

-

[1] 线程和进程的区别是什么? https://www.zhihu.com/question/25532384

大佬总结

以上是大佬教程为你收集整理的Unix|Linux系列知识(2)——进程与线程全部内容,希望文章能够帮你解决Unix|Linux系列知识(2)——进程与线程所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:光驱键盘