同步非同步和阻塞非阻塞

2021-07-14 13:39:06 字數 511 閱讀 1463

真正弄明白乙個概念的語義,然後站在設計者的角度去改善這個語義的實現方式。如果你想走的更遠,那就跳出用這個概念來描述事物的條條框框,自己創造一套概念系統,用來描述這個領域的事物,解決這個領域的問題。

按照分解法的認知,世界上的萬物關係都可以最終劃分為兩元關係。以下所描述的非同步針對的是最簡單的場景(二元場景),假如有個契約的雙方,稱之為使用方和被使用方。使用方在利用被使用方的服務,使用方在使用服務的過程中,同乙個服務所在的系統上下文可以插入其他服務的系統上下文,那它在使用服務的時候就是非同步的。也就是說這個服務假如由乙個操作序列和上下文t構成,非同步實現就是允許這個服務等價為t:和t:。站在被使用者的角度就沒有這麼一說了,他才不關心你的情況,他的責任是必須把自己的責任(提供服務)完成才能交代客戶。所以如果被服務方的服務能力不夠,採取任何手段都是沒用的。

阻塞本質是一種系統的狀態。它是針對系統的整體狀態而言的,但是系統區域性的阻塞往往會導致整體的阻塞。系統,最小的系統可以看做是乙個執行緒,也就是cpu最小的執行單位。系統被阻塞住模擬於執行緒被掛起,被剝奪了使用cpu進行計算的能力。

同步 非同步 阻塞和非阻塞

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

同步 非同步 阻塞和非阻塞

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

同步 非同步 阻塞和非阻塞

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