并发是指两个或多个任务可在重叠的时间段内启动,执行和完成。
并行是指两个或多个任务能在同一时刻在不同CPU上运行。
并发是独立执行过程的组合,可以一次处理很多事情,而并行是同时执行计算,可以同时处理很多事情。应用程序可以是并发的,但不是并行的,这意味着它可以同时处理多个任务,但是没有两个任务在同一时刻执行。应用程序可以是并行的,但不是并发的,这意味着它同时处理多核CPU中的任务的多个子任务。一个应用程序可以即不是并行的,也不是并发的,这意味着它一次一个地处理所有任务。应用程序可以即是并行的也是并发的,这意味着它同时在多核CPU中同时处理多个任务。
所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候执行。
在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行。但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行
并发 并行