并发与并行的区别
2021-05-16 本文已影响0人
mumuxi_
并发的概念:
并发在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。
并发不是真正意义上的“同时进行”,只是CPU把一个时间段划分成几个时间片段(时间区间),然后在这几个时间区间之间来回切换,由于CPU处理的速度非常快,只要时间间隔处理得当,即可让用户感觉是多个应用程序同时在进行。如:打游戏和听音乐两件事情在同一个时间段内都是在同一台电脑上完成了从开始到结束的动作。那么,就可以说听音乐和打游戏是并发的。
并行的概念:
并行(Parallel),当系统有一个以上CPU(单核)时,当一个CPU(单核)执行一个程序时,另一个CPU可以执行另一个程序,两个程序互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。
其实决定并行的因素不是CPU的数量,而是CPU的核心数量,比如一个CPU多个核也可以并行。
并行和并发的区别:
1、并发,指的是多个事情,在同一时间段内同时发生了; 并行,指的是多个事情,在同一时间点上同时发生了。
2、并发的多个任务之间是互相抢占资源的;并行的多个任务之间是不互相抢占资源的。
只有在多CPU或者一个CPU多核的情况中,才会发生并行。否则,看似同时发生的事情,其实都是并发执行的。并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。