参考资料:
/blog//04/processes_and_threads.html
进程是资源分配和管理的基本单位,进程中包含的一个或多个执行单元叫做线程。一个程序至少有一个进程,一个进程至少有一个线程
理解线程与进程
如果把CPU比喻成工厂,单核CPU就是指工厂的电力有限,一次只能给一个车间供应电力,当CPU给某个车间供电的时候,其他车间都要暂时停工。
如果是多核CPU,就相当于这个工厂的电力可以一次供应多个车间
这时车间就相当于进程
一个车间里,可以有很多个机器人,他们一起完成这个车间的任务
机器人就相当于线程
一个车间可以有多个机器人,一个进程可以有多个线程
但是机器人需要供电才能运作,单核CPU就相当于一次只能给一个机器人供电
所以在实际生产中,工厂一次只能给一个车间的一个机器人供电,下一次给另外一个机器人供电(可以是相同车间或者不同车间),就这样交替供电来完成工厂中所有的任务
在系统中也一样,单核CPU一次只能给一个进程的一个线程调度,然后不同的线程交替执行,来完成系统中所有的任务
车间的空间是这个车间的机器人们共享的,相应地,一个进程中的内存空间可以给这个进程中的所有线程共享
但不同车间的空间不能共享,所以不同进程不能共享内存空间