併發和並行

併發:concurrency
並行:parallelise

併發是指同時處理很多事情(同時的概念是一種假象,實際上事情還是存在這時間片段上的先後順序,只不過時間間隔很小,以至於人無法分辨)

並行是指同時執行很多事情。這是一種利用空間換取時間的方法,通過多核的空間拓展,來實現多任務同時執行。

摘取一段網上形象的比喻:

你吃飯吃到一半,電話來了,你一直到吃完了以後纔去接,這就說明你不支持併發也不支持並行。
你吃飯吃到一半,電話來了,你停了下來接了電話,接完後繼續吃飯,這說明你支持併發。
你吃飯吃到一半,電話來了,你一邊打電話一邊吃飯,這說明你支持並行。

這段話也可以用一張圖來表示:
這裏寫圖片描述

上面的就是並行,下面是併發,我們可以看到在並行中,任務是獨佔線程的,而在併發中,多個任務是在搶佔線程以實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章