滴滴滴,您收到一条来自好友“旁白君”的消息:多线程
旁白君:同步和异步,两种接口有啥区别?
我:同步:当前方法处理完才可继续后面方法,异步:不用等当前方法处理完,可继续执行下一个方法。
旁白君:不是很明白,能够举个例子吗?3Q异步
此时的我楞了下,一时还真不知道怎么回答,因而我抬头陷入了沉思,开始寻找和构思各类例子。(旁白君:好意思说,当时你的回答是:“这个网上不少本身去查一下”)spa
同步和异步一般用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的方法。异步方法调用一旦开始,方法调用会当即返回,调用者就能够继续后续的方法。而真正的代码逻辑会在另一个线程中执行,整个过程不会阻碍调用者的工做。线程
下班了,辛苦的一天终于解放,去超市买瓶啤酒舒缓一天的压力,当你选好准备去买单,这时候看到这样的排队场景:接口
没办法,你只能排队等着,一个一个轮到你后买完单回家,一次愉快的购物就结束了,这就是同步调用。游戏
次日上班,当听到同事说网上购物以后,你也试着在网上购买了一瓶啤酒,当你完成网上支付时,整个购物过程对你来讲就结束了,你继续一天的工做。就等着收到快递员给你的签收通知,这就是异步调用。图片
周末了,你忽然想吃西餐,找到附近一家西餐厅,去到餐厅时发现太多比大家早去的了,都在排着队等着:同步
你也只能排队等着,轮到你了买了本身喜欢吃的回家,一个丰盛的晚餐就结束了,这就是同步调用。it
你以为这样太浪费时间,学会了网上订餐,上网购买了一个大牛排套餐,当你完成网上支付时,整个购物过程就结束了,你能够继续看韩剧、看书、玩游戏。就等着商家通知美食送上门了,这就是异步调用。class
我:看了以上2个例子,应该明白了吧,其实这样的例子还有不少,例如:“买火车票、代购等”
旁白君:彻底明白了,忽然发现一个真理
我:啥?
旁白君:你看,好像互联网的发展趋势实际上是:多线程!
我:呃呃呃...你还真能想象,不过好像是那么回事。