同步和异步的理解

以超市收银台为例:

同步:这家超市只有一个收银台,每个订单都需要排队一个一个处理。必须等待前面的订单结算完成后,才会处理下一个订单。

比如:

收银台:1,2,3,4,5,6,7,8(2必须等1结算完毕才可以结算,3必须等2结算完毕才可以结算,这样依次结算下去就叫同步)

异步:这家超市有多个收银台,每个订单都可以快速处理,订单可以按照一定规则分配给每个收银台,依次结算。

比如:

收银台1:1,5,9

收银台2:2,6,10

收银台3:3,7,11

收银台4:4,8,12

收银台...

(1,2,3,4可以一起结算,5,6,7,8只需等待其前面一位结算完毕就可以紧接着结算了,排在后面的也一样,就和我们去超市买东西有很多收银台是一样的哟)

总结:

同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。

异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

原文地址:https://www.cnblogs.com/leona-d/p/6361249.html