概念: 同步和异步是互相相反的概念。 根据维基百科。 异步在计算机编程方面的概念如下: 异步,在计算机编程方面的,是指一个事件的发生独立于主程序流程,以及处理该类事件的方式。 通俗得说,异步就是在主程序流程中一个自立门户的人,在主程序流程执行到有异步特性的这段代码时,异步就发生了。 用比喻的方法理解就是,异步代码就像主程序中的一个地雷,执行到的时候,就直接轰得飞出去,自立门户,不归主程序管了。
同步:与异步相反,该代码在主流程中且归属于主流程,只能按序执行。 更形象得说,假设主程序流就像地球,异步就像太阳,他们互相独立互不相干。而太阳光是两者沟通的方式,太阳光是属于太阳的,所以关于太阳光的一切操作都是异步的(解释上面概念中的“以及”部分)(例如future阻塞获取结果,注意这里的阻塞是主程序的主观自愿行为,而不是异步线程的性质)。
综上所述,异步∉主程序流,主程序流中的涉及异步的代码仅是异步投影,非异步本体。 而同步属于主程序流。