一個視頻告訴你“并發(fā)、并行、異步、同步”的區(qū)別

?
00:26
?并發(fā):單純表述計算機能夠執(zhí)行多項任務,有不同的實現(xiàn)方式:
1)單核:分配時間片方式(也被稱為進程的上下文切換 Context Switching)

微觀串行,宏觀并行
2)多核:在不同的核心上真正的并行執(zhí)行任務(也叫做并行 Parallelism)

?
01:08
?兩種不同的編程模型
同步:前一任務執(zhí)行完畢,才會執(zhí)行接下來的任務

異步:不同的任務之間不會相互等待

一個典型實現(xiàn)異步的方式,是通過多線程編程
?
02:52
?JS只通過回調函數(shù)實現(xiàn)單線程異步編程方式,來達到并行的效果
異步編程方式適用于I/O密集的web項目:

多線程編程方式適用于計算量密集的應用,比如視頻圖像處理等。
標簽: