情景:需要寄三个快递(寄一个快递需要 “填单,打包,付款 ” 三个步骤)
1.只有一个驿站(一个cpu)的时候
? 三个人去,(每个人就是一个线程),一起去同时完成(宏观上,看起来就是同时发生的事情,并行)需要轮转时间片。
? 实际上,驿站只能为一个人服务,每次为一个人完成一个小步骤就可以换另一个人(并发);感觉像是同步串行。
? 驿站为一个人完成三个步骤在换另一个人(串行),就像排队完成在下一个人。
2.三个驿站(多个cpu)的时候
? 还是三个人去,但每个人去一个驿站,(三个驿站在一起),整件事情是并行完成的。(这个不确定是并行,感觉是)
总结:
串行:一次完成一个线程,在执行下一个线程
并行:只有一个cpu时,在一段时间内(极短)就可以在宏观上认为是;多个cpu时,同时完成,这些线程是
并发:一个cpu执行多个线程的时候,在某一刻实际是只执行其中一个(宏观的并行,微观的并发)
原文:https://www.cnblogs.com/yl-995820/p/13216591.html