代码改变世界

并发与并行的区别

2018-12-08 16:28  ZpStu  阅读(220)  评论(0编辑  收藏  举报

小白的理解:
并发:指多个任务可以在重叠的时间段内启动-运行-完成,你可以把任务当成函数来想。
并行:指多个任务可以同时运行,比如在具有多核CPU的计算机上,每个核心处理一个任务,同时进行。
并发是一次性处理很多事情,并行是同事做很多事情:
——>这句话怎么理解呢?
——>比如:你正在吃饭的时候,电话响了,然后你一只手接电话,另一只手也不忘往嘴里塞东西吃;这就属于并行,在同一时间,多个任务同时进行
——>再比如:你在吃饭的时候,电话响了,然后你停下了吃饭去接了电话,接完电话后,继续吃饭;这就属于并发,在同一时间间隔处理多个任务;(我记得以前上操作系统的时候讲过进程调度,短进程优先,不知道能不能和并发一起理解)
应用程序可以是并发的,意味着它可以同时处理多个任务,但是没有两个任务在同一时刻执行
应用程序可以是并行的,意味着它可以同时处理多核CPU中正在处理的任务所具有的多个子程序