並行和併發的區別

2021-10-09 10:02:51 字數 593 閱讀 3255

簡單理解

併發:乙個處理器可以同時處理多個任務。這是邏輯上的同時發生。

並行:多個處理器同時處理多個不同的任務。這是物理上的同時發生。

有乙個清晰地比喻:

併發:乙個人同時吃三個蘋果。並行:三個人同時吃三個蘋果。

深入理解:

指同一時刻只能夠執行一條指令,但是多條指令被快速的進行切換,給人造成了它們同時執行的感覺。但在微觀來說,並不同同時進行的,只是劃分時間段,分別進行執行。

在同一時刻,有多條指令在多個處理器上同時執行。

注意

併發的多個任務之間是互相搶占資源的

並行的多個任務之間是不互相搶占資源的。

只有在多cpu或者乙個cpu多核的情況中,才會發生並行。

否則,看似同時發生的事情,其實都是併發執行的。

併發和並行區別?

做併發程式設計之前,必須首先理解什麼是併發,什麼是並行,什麼是併發程式設計,什麼是並行程式設計。併發 concurrency 和並行 parallellism 是 解釋一 並行是指兩個或者多個事件在同一時刻發生 而併發是指兩個或多個事件在同一時間間隔發生。解釋二 並行是在不同實體上的多個事件,併發是...

併發和並行的區別

併發就是一心二用 多用 比如你一邊聽老師講課,一邊低頭看課桌下韓寒的 這兩件事你在同時做,而且這兩件事並不一定需要相關。而並行就是兵分幾路幹同乙個事情。比如別人看 只能一行一行的看,而你能一目十行,這就是並行。關於併發和並行的區別,go語言有乙個非常好的教材,叫做 併發不是並行 它以go語言為例,並...

併發和並行的區別

在github上看到一幅圖,問如何向五歲的小孩講解併發和並行。然後有人以這幅圖做答 用咖啡機的比喻來形容併發和並行,從中最直接的體會是,併發是有狀態的,某一線程同時執行乙個任務,完了才能進行到下乙個,而並行是無狀態的。併發與並行是兩個既相似而又不相同的概念 併發性,又稱共行性,是指能處理多個同時性活...