1. 程式人生 > >同步(Synchronous)和異步(Asynchronous)

同步(Synchronous)和異步(Asynchronous)

就會 一個 方法調用 這一 開始 訂單 必須 通知 下單

同步和異步通常用來形容一次方法調用。同步方法調用一旦開始,調用者必須等到方法調用返回後,才能繼續後續的行為。異步方法調用更像一個消息的傳遞,一旦開始,方法調用就會立即返回,調用者就可以繼續後續的操作。而異步方法通常會在另外一個線程中“真實”地執行。整個過程,不會阻礙調用者的工作。對於調用者來說異步調用似乎是一瞬間就完成了。如果異步調用需要返回結果,那麽當這個異步調用真實完成時,則會通知調用者。

打個比方,比如我們去購物,如果你去商城實體店買一臺空調,當你到了商場看中了一款空調,你就想售貨員下單。售貨員去倉庫幫你調配物品。這天你熱得實在不行了,就催著商家趕緊給你送貨。於是你就等在商店裏,候著他們,直到商家把你的空調和你一起送回家裏,一次愉快的購物就結束了。這就是同步調用。

不過,如果我們趕時髦,就坐在家裏打開電腦,在網上訂購一臺空調。當你完成網上支付的時候,對你來說購物過程已經結束了。雖然空調還沒有到家,但是你的任務都已經完成了。商家接到了你的訂單後,就會加緊安排送貨當然這一切已經跟你無關了。你已經支付完成,想幹什麽就能去幹什麽,出去溜圈都不成問題,等送貨上門的時候,接到商家的電話,回家一趟簽收完事,這就是異步調用。

同步(Synchronous)和異步(Asynchronous)