高併發(1) 併發與並行的區別

2021-10-03 22:29:39 字數 895 閱讀 1708

說到高併發,那麼就要先理解一件事情,那就是併發跟並行的區別,接下來便講講兩者的區別。

一、併發

說到併發,什麼是併發呢?先舉個例子來說明一下吧。

比如生活中常見的咖啡機。

現在有一台咖啡機在售賣咖啡,這時候有很多客人都在購買咖啡,這時候對於使用者購買咖啡來說,就是並發行為,因為咖啡機同時只能給一名客人**咖啡,其他客人只能夠排隊等待。這個過程就叫併發,而在我們開發中,作業系統可能只有乙個cpu處理器(即我們的咖啡機),這時候就只能處理乙個執行緒,而我們則會啟動多個執行緒(多個購買咖啡的使用者)。這個過程就是我們併發。而併發數指的就是同時有多少的執行緒存在。

併發就是同一時刻中,只有乙個執行緒在執行。

二、並行

剛說完併發,現在再說說什麼並行,同樣舉例說明。

還是以咖啡機為例,一台咖啡機明顯不夠使用了,這個時候又增加一台咖啡機,客人可以同時在在兩台咖啡機下購買咖啡,這個過程,就是並行,兩台咖啡機同時工作,不像一台咖啡機,只能一台工作,這樣齊頭並進,便是 並行。在開發中,有的裝置的配置比較高階,有多個cpu,可以同時執行多個執行緒,也即是並行。

並行就是,在同一時間內,有個多執行緒在執行。

並行,同一時刻能同時進行不同的任務,看的的是同乙個時間點上有多少個任務在執行,這個執行的數量叫做併發度,

併發,交替執行不同的任務,是在乙個時間段上有多少個任務執行,這個執行數量叫併發數

三、總結

要想學習併發程式設計,那麼最基礎的併發跟並行就要區分開,明白什麼是併發,什麼是並行,才能在接下來的學習中更好的學習到併發程式設計。

架構 高併發與高並行

1 什麼是高併發?什麼是高並行?erlang 之父 joe armstrong 用一張5歲小孩都能看懂的 釋了併發與並行的區別 併發是兩個佇列交替使用一台咖啡機,並行是兩個佇列同時使用兩台咖啡機,如果序列,乙個佇列 使用一台咖啡機,後面的人也只能死等著他回來才能去接咖啡,這效率無疑是最低的。或者換一...

併發與並行區別

併發當有多個執行緒在操作時,如果系統只有乙個cpu,則它根本不可能真正同時進行乙個以上的執行緒,它只能把cpu執行時間劃分成若干個時間段,再將時間 段分配給各個執行緒執行,在乙個時間段的執行緒 執行時,其它執行緒處於掛起狀。這種方式我們稱之為併發 concurrent 並行 當系統有乙個以上cpu時...

區別 併發與並行

所有的併發處理都有排隊等候,喚醒,執行至少三個這樣的步驟.所以併發肯定是巨集觀概念,在微觀上他們都是序列被處理的,只不過資源不會在某乙個上被阻塞 一般是通過時間片輪轉 所以在巨集觀上看多個幾乎同時到達的請求同時在被處理。如果是同一時刻到達的請求也會根據優先順序的不同,而先後進入佇列排隊等候執行。併發...