简单记录一下这几个概念的意思。

并发 Concurrency

并发是一个比较宽泛的概念,单纯说明计算机如何做到同时执行多个任务。

并发有很多实现方式,例如上下文切换多核运行

并行 Parallelism

其实多核运行处理任务就是并行。

同步 Synchronous

就是按顺序执行任务,只有等前一个任务执行完了,才会执行后一个任务。

异步 Asynchronous

多个任务之间不会互相等待。

实现异步的经典方式是多线程协程

多线程与协程

结论:协程适合 io 密集型,多线程适合计算密集型。

这是基于多线程切换会有消耗以及协程(一种用户态的轻量级线程,也叫微线程)结构特点的结论。