同步和非同步詳解

2022-06-07 15:00:14 字數 683 閱讀 9368

開發過程中,很多地方需要用到同步和非同步,在此總結一下

「同步」就好比:你去外地上學(人生地不熟),突然生活費不夠了;此時你決定打**回家,通知家裡轉生活費過來,可是當你撥出**時,對方一直處於待接聽狀態(即:打不通,聯絡不上),為了拿到生活費,你就不停的oncall、等待,最終可能不能及時要到生活費,導致你今天要做的事都沒有完成,而白白花掉了時間。打不通**,阻塞了

阻塞和非阻塞強調的是程式在等待呼叫結果(訊息,返回值)時的狀態

同步和非同步強調的是訊息通訊機制

鑑於以上,大部分情況,我們需要找家裡要錢的時候(請求伺服器)用非同步,特別著急找同學借錢(頁面處理狀態)用同步

舉例,以下需求:

點選處理按鈕,請求了介面,用非同步;當前狀態從「已記錄」變成「已處理」,同時文字框變為disabled狀態用同步

redux中,model中的reducers跟effects是負責修改狀態state的方法,其中reducers是同步方法,effects是非同步方法

es6中,async await 非同步寫法,簡化非同步請求,寫法類似同步

同步和非同步

同步執行模式 所謂同步執行模式,是指語句在同步執行模式下,將始終保持對程式流的控制,直至 程式結束。如查詢操作,客戶機上的應用程式在向伺服器發出查詢操作的指令後,將 一直等待伺服器將查詢結果返回客戶機端,然後才繼續進行下一步操作。眾所周知,應用程式要從乙個大表中刪除所有的記錄將是非常耗時的,如果應用...

同步和非同步

同步互動 是指傳送乙個請求,需要等待返回,然後才能傳送另乙個請求,是乙個需要等待的過程。非同步互動 是指傳送乙個請求,不需要等待,隨時可以在傳送另乙個請求,是乙個不需要等待的過程。同步可以避免出現死鎖,讀髒資料的發生,一般共享某一資源的時候用,如果每個人都有修改許可權,同時修改乙個檔案,有可能使乙個...

同步和非同步

同步執行模式 所謂同步執行模式,是指語句在同步執行模式下,將始終保持對程式流的控制,直至 程式結束。如查詢操作,客戶機上的應用程式在向伺服器發出查詢操作的指令後,將 一直等待伺服器將查詢結果返回客戶機端,然後才繼續進行下一步操作。眾所周知,應用程式要從乙個大表中刪除所有的記錄將是非常耗時的,如果應用...