一个视频告诉你“并发、并行、异步、同步”的区别

00:26
并发:单纯表述计算机能够执行多项任务,有不同的实现方式:
1)单核:分配时间片方式(也被称为进程的上下文切换 Context Switching)

微观串行,宏观并行
2)多核:在不同的核心上真正的并行执行任务(也叫做并行 Parallelism)

01:08
两种不同的编程模型
同步:前一任务执行完毕,才会执行接下来的任务

异步:不同的任务之间不会相互等待

一个典型实现异步的方式,是通过多线程编程
02:52
JS只通过回调函数实现单线程异步编程方式,来达到并行的效果
异步编程方式适用于I/O密集的web项目:

多线程编程方式适用于计算量密集的应用,比如视频图像处理等。