线程与进程的区别,举个例子让你快速理解

别来无恙 提交于 2019-11-29 21:58:57

参考资料:
http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

进程是资源分配和管理的基本单位,进程中包含的一个或多个执行单元叫做线程。一个程序至少有一个进程,一个进程至少有一个线程

理解线程与进程

如果把CPU比喻成工厂,单核CPU就是指工厂的电力有限,一次只能给一个车间供应电力,当CPU给某个车间供电的时候,其他车间都要暂时停工。
如果是多核CPU,就相当于这个工厂的电力可以一次供应多个车间
这时车间就相当于进程

一个车间里,可以有很多个机器人,他们一起完成这个车间的任务
机器人就相当于线程

一个车间可以有多个机器人,一个进程可以有多个线程

但是机器人需要供电才能运作,单核CPU就相当于一次只能给一个机器人供电

所以在实际生产中,工厂一次只能给一个车间的一个机器人供电,下一次给另外一个机器人供电(可以是相同车间或者不同车间),就这样交替供电来完成工厂中所有的任务
在系统中也一样,单核CPU一次只能给一个进程的一个线程调度,然后不同的线程交替执行,来完成系统中所有的任务

车间的空间是这个车间的机器人们共享的,相应地,一个进程中的内存空间可以给这个进程中的所有线程共享
但不同车间的空间不能共享,所以不同进程不能共享内存空间

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!