其他 阻塞 同步 的基本認識

2022-01-11 14:41:26 字數 990 閱讀 2616

有些概念, 老是弄不清楚

同步非同步

阻塞非阻塞

場景角色

client

發起請求

接受請求

server

接受請求

執行操作

返回響應

行為大致是乙個 c/s 模式的模型

概述對 客戶端 行為的描述

行為阻塞

client 發出請求

client 原地等待 server 處理完

client 接到 server 響應, 繼續前進

非阻塞client 發出請求

當然多數時候, 要確認 server 收到了請求, 簡單考慮的話, 可以先不提

client 繼續前進

關注點client 向 server 發出請求後的行為模式

概述對 服務端 行為的描述

行為同步

server 接受請求

server 處理請求

server 返回響應

非同步server 接受請求

server 返回響應

收到請求

server 處理請求

server 返回響應

處理完成

關注點server 在收到請求後的行為模式

其他server 處理完請求, client 有多重方式知道 處理完成

client 輪詢

client 主動

反覆詢問 server 情況

client 監聽

server 主動

處理完後立即通知 client

阻塞同步

最常見的模型

最簡單阻塞非同步

有點二逼的模型

client 明明可繼續前進, 非要傻等到 server 的處理完成

非阻塞同步

有點二逼的模型

server 明明可以返回, 繼續接受其他請求, 但還是在**阻塞

非阻塞非同步

常見的模型

最高效

認識非阻塞的同步機制CAS

原文在這裡 在研究執行緒池的執行原理時,看到一段不斷迴圈重試的 不理解它的原理,看注釋這是cas的實現,所以學會之後記錄下來。在多執行緒併發下,可以通過加鎖來保證執行緒安全性,但多個執行緒同時請求鎖,很多情況下避免不了要借助作業系統,執行緒掛起和恢復會存在很大的開銷,並存在很長時間的中斷。一些細粒度...

基本概念 同步 非同步 阻塞和非阻塞

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

基本概念 同步 非同步 阻塞和非阻塞

同步指當呼叫相關系統函式時,如果他需要的資源沒有就緒,那麼呼叫該函式的程序就轉入阻塞態,直到她需要的資源就緒時才從該函式返回繼續執行。非同步指當呼叫相關系統函式時,如果他需要的資源沒有就緒,那麼呼叫該函式的程序馬上從該函式返回繼續執行該函式後面的指令,而該程序本身不會轉入阻塞態,這樣該程序就可在這段...