同步非同步和阻塞非阻塞

2021-07-15 09:39:10 字數 463 閱讀 1101

下面的內容不一定對,但是有利於理解同步非同步和阻塞非阻塞。

同步非同步和阻塞非阻塞是從不同層面定義的。

同步:同步最好理解,發出i/o請求之後,會一直處於等待狀態,直到得到i/o結果,程式才會繼續執行。

非同步:發出i/o請求之後,並不會等待i/o結果,程式會繼續執行。

阻塞是指程序在等待期間被掛起,非阻塞相反。

同步阻塞:等待i/o結果,程序被掛起;

同步非阻塞:等待i/o結果,程序不被掛起;

非同步阻塞:不等待i/o結果,程式繼續執行,但程序可能在某個時刻/地方被掛起;

非同步非阻塞:不等待i/o結果,程式繼續執行,程序不被掛起。

等待i/o結果看,node.js即有非同步也有同步;

程序等待i/o結果時的狀態看,node.js屬於非阻塞。

同步 非同步 阻塞和非阻塞

同步 非同步 阻塞和非阻塞 在進行windowsapi winsock 網路程式設計時,我們常常見到同步 非同步 阻塞和非阻塞四種呼叫方式。這些方式其實都可以擴充套件為廣義的概念,幫助我們理解多執行緒,多程序,實時作業系統等更廣的概念。同步 synchronic 所謂同步,就是在發出乙個功能呼叫時,...

同步 非同步 阻塞和非阻塞

在進行網路程式設計時,我們常常見到同步 非同步 阻塞和非阻塞四種呼叫方式。這些方式彼此概念並不好理解。所謂同步,就是在發出乙個功能呼叫時,在沒有得到結果之前,該呼叫就不返回。按照這個定義,其實絕大多數函式都是同步呼叫 例如sin,isdigit等 但是一般而言,我們在說同步 非同步的時候,特指那些需...

同步 非同步 阻塞和非阻塞

這幾個概念總是記了又忘。寫下來。同步和非同步是針對應用程式和核心的互動而言的 同步指的是使用者程序觸發io操作並等待或者輪詢的去檢視io操作是否就緒,非同步是指使用者程序觸發io操作以後便開始做自己的事情,而當io操作已經完成的時候會得到io完成的通知。阻塞和非阻塞是針對於程序在訪問資料的時候,根據...