简单记录一下这几个概念的意思。
并发 Concurrency
并发是一个比较宽泛的概念,单纯说明计算机如何做到同时执行多个任务。
并发有很多实现方式,例如上下文切换、多核运行。
并行 Parallelism
其实多核运行处理任务就是并行。
同步 Synchronous
就是按顺序执行任务,只有等前一个任务执行完了,才会执行后一个任务。
异步 Asynchronous
多个任务之间不会互相等待。
多线程与协程
结论:协程适合 io 密集型,多线程适合计算密集型。
这是基于多线程切换会有消耗以及协程(一种用户态的轻量级线程,也叫微线程)结构特点的结论。