您的位置:首页 > 其它

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

2015-06-30 20:03 302 查看
参考资料:

http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

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


理解线程与进程

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

如果是多核CPU,就相当于这个工厂的电力可以一次供应多个车间

这时车间就相当于进程

一个车间里,可以有很多个机器人,他们一起完成这个车间的任务

机器人就相当于线程

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

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

所以在实际生产中,工厂一次只能给一个车间的一个机器人供电,下一次给另外一个机器人供电(可以是相同车间或者不同车间),就这样交替供电来完成工厂中所有的任务

在系统中也一样,单核CPU一次只能给一个进程的一个线程调度,然后不同的线程交替执行,来完成系统中所有的任务

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

但不同车间的空间不能共享,所以不同进程不能共享内存空间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: