同步和異步 | 一個問題引起的沉思

滴滴滴,您收到一條來自好友「旁白君」的消息:多線程

旁白君:同步和異步,兩種接口有啥區別?
:同步:當前方法處理完纔可繼續後面方法,異步:不用等當前方法處理完,可繼續執行下一個方法。
旁白君:不是很明白,能夠舉個例子嗎?3Q異步

此時的我楞了下,一時還真不知道怎麼回答,因而我擡頭陷入了沉思,開始尋找和構思各類例子。(旁白君:好意思說,當時你的回答是:「這個網上不少本身去查一下」)spa

同步和異步

同步和異步一般用來形容一次方法調用。同步方法調用一旦開始,調用者必須等到方法調用返回後,才能繼續後續的方法。異步方法調用一旦開始,方法調用會當即返回,調用者就能夠繼續後續的方法。而真正的代碼邏輯會在另一個線程中執行,整個過程不會阻礙調用者的工做。線程

購物例子

下班了,辛苦的一天終於解放,去超市買瓶啤酒舒緩一天的壓力,當你選好準備去買單,這時候看到這樣的排隊場景:接口

圖片描述

沒辦法,你只能排隊等着,一個一個輪到你後買完單回家,一次愉快的購物就結束了,這就是同步調用遊戲

次日上班,當聽到同事說網上購物以後,你也試着在網上購買了一瓶啤酒,當你完成網上支付時,整個購物過程對你來講就結束了,你繼續一天的工做。就等着收到快遞員給你的簽收通知,這就是異步調用圖片

圖片描述

外賣例子

週末了,你忽然想吃西餐,找到附近一家西餐廳,去到餐廳時發現太多比大家早去的了,都在排着隊等着:同步

圖片描述

你也只能排隊等着,輪到你了買了本身喜歡吃的回家,一個豐盛的晚餐就結束了,這就是同步調用it

你以爲這樣太浪費時間,學會了網上訂餐,上網購買了一個大牛排套餐,當你完成網上支付時,整個購物過程就結束了,你能夠繼續看韓劇、看書、玩遊戲。就等着商家通知美食送上門了,這就是異步調用class

圖片描述

:看了以上2個例子,應該明白了吧,其實這樣的例子還有不少,例如:「買火車票、代購等」
旁白君:徹底明白了,忽然發現一個真理
:啥?
旁白君:你看,好像互聯網的發展趨勢實際上是:多線程!
:呃呃呃...你還真能想象,不過好像是那麼回事。

相關文章
相關標籤/搜索