java 高并发系列
第 1 篇:必须知道的几个概念
同步(Synchronous)和异步(Asynchronous)
同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到
方法调用返回后,才能继续后续的行为。异步方法调用更像一个消息传递,一旦
开始,方法调用就会立即返回,调用者就可以继续后续的操作。而异步方法通常
会在另外一个线程中“真实”地执行。整个过程,不会阻碍调用者的工作。
如图:
上图中显示了同步方法调用和异步方法调用的区别。对于调用者来说,异步调用似
乎是一瞬间就完成的。如果异步调用需要返回结果,那么当这个异步调用真实完成
时,则会通知调用者。
打个比方,比如购物,如果你去商场买空调,当你到了商场看重了一款空调,你就
向售货员下单。售货员去仓库帮你调配物品。这天你热的是在不行了,就催着商家
赶紧给你送货,于是你就在商店里面候着他们,直到商家把你和空调一起送回家,
一次愉快的购物就结束了。这就是同步调用。