一切阅读都是误读。
中英文对照
计算机领域,中文词汇表述含糊不清,不像英语表述的那么准确,并发和并行就是一个典型例子。
- 并发 concurrent
- 并行 parallel
字面意思
并发指的是同一时间发生,并行指的是同一时刻发生,两次词唯一的不同就是对同一时间或同一时刻
的解释。
- 同一时间:一般潜意识中的认为的时间粒度为秒这个级别
- 同一时刻:一般认为是CPU指令中的同一周期内
这样可以得到一个结论,并行一定是并发的,但是并发的不一定是并行的。用数学语言来描述的话,并行是并发的真子集。
常见的表述语境
- 单核CPU
- 线程是并发执行的
- 指令并行:一个周期运行两条指令
- 单指令多数据并行
- 多核CPU
- 线程可以并行执行
应用场景
- Nginx支持高并发连接
- 多cpu情况下,Nginx的多进程模型可以提高并发能力
- CPU密集型进程,需要增加CPU来提高系统的并行能力
- 大规模并行计算机