线程同步与异步的最简单图解

前提

线程的同步和异步是针对多核CPU而言的,没有多核CPU就没有异步的概念(此时全是同步的)。

下面以四核CPU为例子,用图解的方式看同步和异步的区别:

同步:

线程同步与异步的最简单图解
可以看出,所谓同步,就是每次只有一个线程能去执行,即使有多的计算资源(在这里指多余的CPU)也不会去用,一次只有一个线程去用,可以看作是豪华型执行过程。注意,此时因为只有一个线程A可以执行,所以它可以任意选择某个CPU。其它的线程只有等这个线程A执行完毕后才可以继续进入执行。

异步:

线程同步与异步的最简单图解

可以看出,所谓的异步就是一个CPU对应了一个线程,一次可以执行更多的线程(开口更大)。当然哪个线程对应哪个CPU的顺序没要求,一批一批的执行,可以看作是高效型执行过程

以上是我个人对于线程同步和异步的理解,如果有不当的地方欢迎指出~