并發(fā):多個任務(wù)在同一個 CPU 核上,按細(xì)分的時間片輪流(交替)執(zhí)行,從邏輯上來看那些任務(wù)是同時執(zhí)行。
并行:單位時間內(nèi),多個處理器或多核處理器同時處理多個任務(wù),是真正意義上的“同時進行”。
串行:有n個任務(wù),由一個線程按順序執(zhí)行。由于任務(wù)、方法都在一個線程執(zhí)行所以不存在線程不安全情況,也就不存在臨界區(qū)的問題。
做一個形象的比喻:
并發(fā) = 倆個人用一臺電腦。
并行 = 倆個人分配了倆臺電腦。
串行 = 倆個人排隊使用一臺電腦。