串行
一个任务执行完在执行下一个任务。
比如先吃饭,吃完了去打游戏。
串行就是简单地one by one的思路。
并行
两个任务同一时间执行。
比如一只手往嘴里塞饭,一只手打游戏。
并行是利用多核CPU的优势,真正意义上的同时执行两件不相干的事。
并发
两个任务同时执行。
比如吃一口饭,打一下游戏,再吃一口,再打一下。
并发其实还是出现在单核CPU,或者职能利用到CPU的一个核。
因为只有一个核,所以真正意义上两件事还是同一时间职能执行一个,但是并不要求其中一个必须执行完才能执行下一个,可以先执行一个的一部分,再执行另外一个的一部分。
这里就跟CPU的时间片有关系了,CPU并不会一直执行一个任务,如果同时还有其他任务的话,他会雨露均沾,由于切换的特别块,所以看上去是同时执行的,。