同步和异步通常用来描述一次方法调用.一旦开始调用同步方法,调用者必须等到方法调用返回后,才能执行后续操作.一旦开始调用异步方法,方法调用会立即返回,调用者可以执行后续操作.异步方法会在另外一个线程中真实地执行,整个过程不会阻碍调用者的工作.对于调用者来说,异步调用似乎是瞬间完成的.如果异步调用需要返回结果,那么当这个异步调用真实完成时会通知调用者.
同步和异步方法调用示意图如下:
举例:我去商场买一台空调.当我看中了一款空调后就让售货员下单,售货员去仓库取件,炎热的天气使我催着商家赶紧送货.于是,我等在店里,直到商家把我和空调一起送回家,一次愉快的购物就结束了.这就是同步调用.如果我网上订购空调,那么付款成功对我来说购物过程已经结束了.商家接单后会安排送货,与我无关,只要送货上门时签收即可.这就是异步调用.
参考资料
《实战 Java 高并发程序设计》 P7-8
来源: http://www.bubuko.com/infodetail-2458287.html