關於同步 非同步 阻塞 非阻塞
同步 與 非同步 , 阻塞 與 非阻塞 不是乙個概念 不能混為一體, 非同步是不會出現阻塞的 ,如果出現非同步阻塞 那說明沒有理解非同步的機制。
同步阻塞: 假設程式由上往下執行 上面的程式卡住了 下面的是沒有辦法繼續執行的 , 只有等到卡住的地方完成了 程式才能繼續往下執行。
同步非阻塞: 程式中某個請求去載入乙個檔案 檔案比較大 載入時間比較長 不知道什麼時候能夠載入完成 這時候 程式不需要一直等待檔案載入直到完成,但是 程式需要知道檔案什麼時候載入完成 ,所以這個時候就可以隔段時間 就去請求伺服器 檢視載入結果 ( 通過輪詢去定時請求 )有結果也立馬返回。
非同步非阻塞 : 程式有多個請求任務去請求伺服器 有的時間長有的時間段 主程式這個時候不需要等待這些請求完成 再往下執行其他的操作 可以繼續執行其他事情 通知的操作由 那些請求自己主動返回。