併發 並行 序列

2021-10-06 19:49:01 字數 399 閱讀 9981

併發是同時處理(dealing)很多的事情

並行是同時做(doing)很多的事情

併發是在同一實體上的多個事件

並行是在不同實體上的多個事件

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

打個比方。併發,就像乙個人(cpu)喂2個孩子(程式),輪換著每人喂一口,表面上兩個孩子都在吃飯。並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。

序列,併發,並行。

序列 serial 並行 parallel 併發 concurrent 並行,序列與併發的區別 假如有個橋。假設1 這個橋比較脆弱,只能承受乙個人的重量,而橋的旁邊有個休息區則不限重量,走累了可以隨時停下來往右一靠,把橋讓出給別人。那麼兩個人a和b要同時過橋就應該 a先走,b看到a走累了到休息區的時...

併發,並行,序列

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

golang 序列與並行(併發)對比

golang對比其它語言最大的優勢就是乙個go關鍵字就能實現併發,工作中經常遇到併發的場景,具體實現併發的方式有多種,今天就來做個小實驗來對比說明序列和並行執行任務中併發的優勢,好了直接上 package main import fmt math rand sync time 定義任務數量 var ...