1. 程式人生 > >同步和非同步有什麼區別

同步和非同步有什麼區別

同步互動:  指傳送一個請求,需要等待返回,然後才能夠傳送下一個請求,有個等待過程;
非同步互動:  指傳送一個請求,不需要等待返回,隨時可以再發送下一個請求,即不需要等待。
    同步一般在共享某一資源的時候用,如果每個人都有修改許可權,同時修改一個檔案,有可能使一個人讀取另一個人已經刪除的內容,就會出錯, 同步就會按順序來修改,同步機制能夠保證資源的安全。
   非同步與非阻塞類似,當應用程式在物件上呼叫了一個需要花費很長時間來執行的方法,並且不希望讓程式等待方法的返回時,就應該使用非同步程式設計,非同步能夠提高程式的效率。

    同步和非同步最大的區別就在於。一個需要等待,一個不需要等待。

舉例子:

   同步:電話,發起者需要等待接收者,接通電話後,通訊才開始。需要等待接收者的返回資訊

   非同步:廣播,發起者不關心接收者的狀態。不需要等待接收者的返回資訊

哪些情況建議使用同步互動呢?比如銀行的轉賬系統,對資料庫的儲存操作等等,都會使用同步互動操作,其餘情況都優先使用非同步互動。