百度百科的解释
并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。
==========================================================================
当有1个以上的线程在操作时,若计算机只有1个处理器,根本不可能真正同时进行1个以上的处理。事实上,程序的处理是不断切换操作的,这种操作就称为并发(concurrent)。
如果是在有1个以上处理器的计算机上执行,则线程的操作可能是并行,当1个以上的线程并行处理操作时,就可以真正同时进行1个以上的处理。
如图:
[img]http://dl.iteye.com/upload/attachment/0076/4281/5f343535-8077-3313-bcc8-86bc08bfd719.png[/img]
并发和并行是即相似又有区别的两个概念,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可以同时执行。
==========================================================================
当有1个以上的线程在操作时,若计算机只有1个处理器,根本不可能真正同时进行1个以上的处理。事实上,程序的处理是不断切换操作的,这种操作就称为并发(concurrent)。
如果是在有1个以上处理器的计算机上执行,则线程的操作可能是并行,当1个以上的线程并行处理操作时,就可以真正同时进行1个以上的处理。
如图:
[img]http://dl.iteye.com/upload/attachment/0076/4281/5f343535-8077-3313-bcc8-86bc08bfd719.png[/img]