同步(Synchronous)和異步(Asynchronous)

 

目錄併發

概念性

  同步異步一般用來形容一次方法調用。異步

  • 同步方法調用一旦開始,調用者必須等到方法調用返回後,才能繼續後續的行爲。
  • 異步方法調用更像一個消息傳遞,一旦開始,方法調用就會當即返回,調用者就能夠繼續後續的操做。而,異步方法一般會在另一個線程中,「真實」地執行着。整個過程,不會阻礙調用者的工做。

圖示例

舉個例子

  打個比方,好比咱們去購物,若是你去商場實體店買一臺空調,當你到了商場看中了一款空調,你就想售貨員下單。售貨員去倉庫幫你調配物品。這天你熱的實在不行了。就催着商家趕忙給你配送,因而你就等在商場裏,候着他們,直到商家把你和空調一塊兒送回家,一次愉快的購物就結束了。這就是同步調用。高併發

  不過,若是咱們趕時髦,就坐再家裏打開電腦,在網上訂購了一臺空調。當你完成網上支付的時候,對你來講購物過程已經結束了。雖然空調尚未送到家,可是你的任務都已經完成了。商家接到你的訂單後,就會加緊安排送貨,固然這一切已經跟你無關了,你已經支付完成,想什麼就能去幹什麼了,出去溜達幾圈都不成問題。等送貨上門的時候,接到商家電話,回家一趟簽收便可。這就是異步調用。線程

  (注:以上內容摘自Java高併發程序設計)設計

相關文章
相關標籤/搜索