並行和併發的區別理解

2021-08-19 19:39:29 字數 379 閱讀 5796

erlang 之父 joe armstrong 用一張5歲小孩都能看懂的**釋了併發與並行的區別:

併發是兩個佇列交替使用一台咖啡機,並行是兩個佇列同時使用兩台咖啡機,如果序列,乙個佇列使用一台咖啡機,那麼哪怕前面那個人便秘了去廁所呆半天,後面的人也只能死等著他回來才能去接咖啡,這效率無疑是最低的。

併發是不是乙個執行緒,並行是多個執行緒?

答:併發和並行都可以是很多個執行緒,就看這些執行緒能不能同時被(多個)cpu執行,如果可以就說明是並行,而併發是多個執行緒被(乙個)cpu 輪流切換著執行。

並行和併發的理解

並行和併發理解起來好像一樣,好像又不一樣,到底怎麼理解呢?兩者又有什麼區別呢?先上個人理解的結論 併發的關鍵 是你有處理多個任務的能力,不一定要同時。並行的關鍵 是你有同時處理多個任務的能力。具體分析如下 併發程式 如果程式支援多個動作同時存在,那麼就是併發程式。並行程式 如果程式支援多個動作同時執...

REST 和 SOAP 的區別理解

簡單物件訪問協議 object access protocol,soap 是一種基於 xml 的協議,可以和現存的許多網際網路協議和格式結合使用,包括超文字傳輸協議 http 簡單郵件傳輸協議 smtp 多用途網際郵件擴充協議 mime 基於 通用 傳輸協議是 soap的乙個優點。它還支援從訊息系統...

break和continue的區別理解

break 跳出當前迴圈,繼續執行迴圈外的函式體 課本上對此解釋 public class test else continue system.out.println 迴圈結束,5不列印,comtinue跳出當次迴圈 列印輸出 0 good1 good2 good3 good4 good6 good...