并行
并行是指同一时间可以执行的线程数量,注意这里强调的是同时
,假如有一块八核的CPU,那么它的并行数为8,因为它同时可以跑八个线程。
并发
与并行不同,并发强调的是单位时间内,也就是一段时间内跑了多少个线程,同样假设有一块八核的CPU,同时一个线程需要20ms跑完,那么100ms内的并发数就为:8(CPU核心数)*5(一个核心100ms可以跑的线程)= 40。
区分关键
并行强调的是同时
,而并发强调的是一段时间内
。
例子
以打饭为例子,现在有两个打饭的窗口。同时,只有两个人可以打饭,那么2就是并行数。假如一个人打饭要10秒,那么一分钟内两个窗口一共有12个人打了饭,那么12就是并发数。