进程和线程的区别

Posted ray5wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程和线程的区别相关的知识,希望对你有一定的参考价值。

今天学习了一下进程线程之间的区别,想到了一个形象的方法来解释,记录一下以免之后忘了。

 

这里做一个比喻:进程就是公司, 线程就是公司里面的员工。

1.公司搞了一个工作的地方(分配了cpu 内存等待资源)。公司有独立房子,资产(cpu 内存),而这些资产不能为个人所有,是共享公司的东西要不就被开除啦!

2.然后公司(进程)招了很多员工(创建了很多线程)来工作,很多员工(多线程)一起齐心协力,这样一个公司(进程)就可以正常工作。

3.公司内部员工之间(线程之间)的交流很方便,可以使用公司的公共的休息区交流(共享内存 静态变量等等);但是公司之间的交流就不方便了需要公司之间的打通交流渠道(进程间通讯 5种)。

4.公司是分配资产和地盘的基本单位,而员工是分配任务干活的基本单位。

 

注:与进程的控制表PCB相似,线程也有自己的控制表TCB,但是TCB中所保存的线程状态比PCB表中少多了。(这个不知道怎么比喻了 放在这就好了)

以上是关于进程和线程的区别的主要内容,如果未能解决你的问题,请参考以下文章

多线程和多进程模式有啥区别

Java多线程和并发,进程与线程的区别

多进程和多线程有啥区别?

进程和线程的区别和联系

子进程和线程的区别

python中多进程和多线程的区别