在计算机领域,同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。
异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的程序在完成后,通过状态、通知和回调来通知调用者。
1.你叫我吃饭,我说好,一起去。这是同步。
2.你叫我吃饭,我说你先去吧,我这里有点忙。于是你先去了,我忙完才去的,自你叫我吃饭开始,什么时候我才去的,是未知的。这是异步。
1.生产者消费者,生产的同时,消费者在旁边等待着,生产一个拿走一个。这是同步。
2.消费者预定商品(发送消息),自生产者收到请求开始生产。生产一个,往仓库放一个。消费者来购买,拿走一个,没有了就回去了。也许下次过来还没有,又回去了。下次过来,有了,又拿走了。这是异步。
1.异步通常用来做消息队列。批处理命令。调用者把一批命令发送给队列。队列视忙闲情况处理。同时,调用者不断的轮巡(并不是一直等待)。直到队列处理完成,返馈给调用者。