1、概念上的区别
1、并行(Parallel)
并行是指“并排行走”或“同时实行或实施”。在操作系统中,它表示若干个程序段同时在系统中运行,这些程序的执行在时间上是重叠的,即一个程序段的执行尚未结束,另一个程序段的执行已经开始。这种执行方式在宏观和微观上都是同时进行的。
2、并发(Concurrent)
并发是指在同一个时间段内,两个或多个程序执行,有时间上的重叠。虽然宏观上看起来是同时进行的,但在微观上,由于只有一个CPU处理器,所以这些程序实际上是交替执行的,而不是真正的同时进行。
2、执行方式上的区别
1、并行
当涉及到多个CPU处理器时,并行可以真正实现多个任务的同时执行。每个CPU处理器独立处理一个线程或任务,互不抢占资源,从而提高了整体的执行效率。
2、并发
主要发生在一个CPU处理器上,通过操作系统的任务调度器将CPU的时间片分配给各个线程使用。在一个时间段的线程运行时,其他线程处于挂起状态,等待CPU的下一个时间片来执行。这种交替执行的方式使得在宏观上看起来像是多个任务同时进行,但实际上并不是。