目录
并发:
CPU的一个核心上分成了不同的时间片,调度很多任务的时候是把CPU核心的时间片分配给相应的任务,单核上,多个线程占用不同的CPU时间片,物理上还是串行执行的,但是由于每个线程占用的CPU时间 片非常短(比如10ms),看起来就像是多个线程都在共同执行一样,这样的场景称作并发 (concurrent)。
并行:
在多核或者多CPU上,多个线程是在真正的同时执行,这样的场景称作并行(parallel)。
总结:
并发是指在同一时间段内,有多个任务在运行,这些任务可能会相互影响,并且需要交替执行。例如,在一个操作系统中同时运行多个应用程序。
而并行则是指在同一时间段内,有多个任务同时运行,这些任务是独立的,不会相互影响,并且可以同时执行。例如,在一个计算机中同时进行多个计算任务。
总的来说,如果多个任务是同时执行的,就是并行;如果多个任务是在同一时间段内交替执行的,就是并发。