超清晰 並行和併發的區別

2021-07-11 09:07:02 字數 580 閱讀 4517

解釋一:並行是指兩個或者多個事件在同一時刻發生;而併發是指兩個或多個事件在同一時間間隔發生。

解釋二:並行是在不同實體上的多個事件;併發是在同一實體上的多個事件解釋三:並行是在多台處理器上同時處理多個任務,如hadoop分布式集群;併發是在一台處理器上「同時」處理多個任務。

而前者是物理上的同時發生,而後者是邏輯上的同時發生(simultaneous)。

併發性(concurrency),又稱共行性,是指能處理多個同時性活動的能力,併發事件之間不一定要同一時刻發生。

並行(parallelism)是指同時發生的兩個併發事件,具有併發的含義,而併發則不一定並行。

來個比喻:併發和並行的區別就是乙個人同時吃三個饅頭和三個人同時吃三個饅頭。

併發程式設計我覺得就是多執行緒程式設計。

【補充】

互斥:程序間相互排斥的使用臨界資源的現象,就叫互斥。

多執行緒:多執行緒是程式設計的邏輯層概念,它是程序中併發執行的一段**。多執行緒可以實現執行緒間的切換執行。

併發和並行區別?

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

併發和並行的區別

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

併發和並行的區別

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