同步與非同步

來源:互聯網
上載者:User

1.所謂同步,可以理解為在執行完一個函數或方法之後,一直等待系統傳回值或訊息,這時程式是出於阻塞的,只有接收到返回的值或訊息後才往下執行其他的命令。
     非同步,執行完函數或方法後,不必阻塞性地等待傳回值或訊息,只需要向系統委託一個非同步過程,那麼當系統接收到傳回值或訊息時,系統會自動觸發委託的非同步過程,從而完成一個完整的流程。 
2.同步,就是即時處理,比如伺服器一接收用戶端請求,馬上響應,這樣用戶端可以在最短的時間內得到結果,但是如果多個用戶端,或者一個用戶端發出的請求很頻繁,伺服器無法同步處理,就會造成湧塞。 
   非同步,就是分時處理,伺服器接收到用戶端請求後並不是立即處理,而是等待伺服器比較閒置時候加以處理,可以避免湧塞。 
3.同步、非同步之經典解釋
     同步就是調用一個函數,直接函數執行完了才返回到調用函數
     非同步就是被調用函數初始化完後馬上返回...

經典解釋一:
     同步是指:發送方發出資料後,等接收方發迴響應以後才發下一個資料包的通訊方式。
     非同步是指:發送方發出資料後,不等接收方發迴響應,接著發送下個資料包的通訊方式。
經典解釋二:
     同步:提交請求->等待伺服器處理->處理完畢返回 這個期間用戶端瀏覽器不能幹任何事
     非同步: 請求通過事件觸發->伺服器處理(這是瀏覽器仍然可以作其他事情)->處理完畢

經典搞笑解釋:
      同步就是你叫我去吃飯,我聽到了就和你去吃飯;如果沒有聽到,你就不停的叫,直到我告訴你聽到了,才一起去吃飯。
     非同步就是你叫我,然後自己去吃飯,我得到訊息後可能立即走,也可能等到下班才去吃飯。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.