串行和并行
- 串行就是多个任务依次执行
- 并行就是多个任务在同一时刻同时执行
并发和并行
- 并发表示的是执行多任务的能力,简单来说就是一个时间间隔内执行多个任务
- 并发并不要求多任务是真正同时执行的,往往都是同一时刻是单一任务在执行,cpu在多任务间的切换非常迅速,看起来就像是一定的时间间隔内多个任务在同时执行一样
- 一般认为并发是包含并行的,并发更像是一个逻辑上的概念,并行则像是一个物理上的概念
同步和异步
- 同步就看成是沿着一条主线路一直执行下去
- 异步就是主线路执行过程中的一些耗时操作就另开一条支线来执行耗时任务,主线路则继续执行,最终的效果就是主线和支线看起来在同时执行
- 开启新的线程是异步的一种实现方式,异步更像是最终的目的,多线程是实现手段,当然多进程也是可以实现异步的