怎樣理解阻塞非阻塞與同步非同步的區別?

2022-05-08 15:15:08 字數 593 閱讀 1441

首先理解同步與非同步

1,計算機之中的同步是現實生活之中的非同步,非同步是現實生活之中的同步

2,同步與非同步關注的是訊息通訊機制,對於同步而言,就想瀏覽器請求伺服器的過程,是一直等待伺服器返回資料。

非同步指的是,當向瀏覽器傳送請求,如果伺服器忙,會等到空閒時候告訴你(這個過程就稱之為使用**函式)

阻塞與非阻塞

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

2,阻塞是指,瀏覽器傳送請求到伺服器,一直等待伺服器返回訊息的狀態

3,非阻塞指的是 詢問之後,如果伺服器沒有反應,那麼就會一段時間之後再次詢問!

並行與併發:

1,併發的關鍵是你有處理多個任務的能力,不一定要同時。 

並行的關鍵是你有同時處理多個任務的能力。

2,無論你的機器有多少個cpu, 同一時間只有乙個python解析器執行。這也和大部分解釋型語言一致, 都不支援並行。這應該是python設計的先天缺陷

3,並行指的是多執行緒,就是把正在執行的大量任務分割成小塊,分配給多個同時執行的執行緒。

4,多執行緒只是併發的一種形式,但不是唯一形式。也可以指多程序的併發!

怎樣理解 同步 非同步 阻塞 非阻塞

老張愛喝茶,廢話不說,煮開水。出場人物 老張,水壺兩把 普通水壺,簡稱水壺 會響的水壺,簡稱響水壺 1 老張把水壺放到火上,立等水開。同步阻塞 老張覺得自己有點傻 2 老張把水壺放到火上,去客廳看電視,時不時去廚房看看水開沒有。同步非阻塞 老張還是覺得自己有點傻,於是變高階了,買了把會響笛的那種水壺...

怎樣理解阻塞非阻塞與同步非同步的區別?

因為中文語意的問題,很多時候確實會導致混用,而且語境不一樣意義也可能不一樣。如果只是從計算機程式設計這個角度說,討論最多的也是io 模型 阻塞非阻塞和同步非同步說的應該是不同的東西。阻塞非阻塞 可以簡單理解為需要做一件事能不能立即得到返回應答,如果不能立即獲得返回,需要等待,那就阻塞了,否則就可以理...

怎樣理解阻塞非阻塞與同步非同步的區別?

因為中文語意的問題,很多時候確實會導致混用,而且語境不一樣意義也可能不一樣。如果只是從計算機程式設計這個角度說,討論最多的也是io 模型 阻塞非阻塞 和 同步非同步說的應該是不同的東西。阻塞非阻塞 可以簡單理解為需要做一件事能不能立即得到返回應答,如果不能立即獲得返回,需要等待,那就阻塞了,否則就可...