以超市收银台为例:
同步:这家超市只有一个收银台,每个订单都需要排队一个一个处理。必须等待前面的订单结算完成后,才会处理下一个订单。
比如:
收银台: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只需等待其前面一位结算完毕就可以紧接着结算了,排在后面的也一样,就和我们去超市买东西有很多收银台是一样的哟)
总结:
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。