并发&并行?

问题背景:

        今天无意中想了解大数据并发,可是,思来想去我的脑海里只有学习操作系统时的“并发”与并行,于是想翻翻书,彻底弄明白这两个概念。

解决:

        并发:两个或以上的活动/事件,在同一时间 间隔 内发生(官话)。重点在于“间隔”,也就是说,只要在一段间隔内有两个动作发生了,那么就属于并发。

举个栗子:

      我吃饭的时候都喜欢边吃边看,在我开始到结束吃饭的这个时间间隔中,我的边吃边看或吃一口看一会 这就是并发。(嘴,眼,手,耳朵交替进行,也可以同时进行)

                并行:两个或以上的活动/事件,在同一个时刻发生。重点在于“瞬间”,也就是说,多个动作必须在同一个时刻同时发生才算是并行。

举个栗子:

       小时候老师留的写田字格,一写就是好几本,当时想出来的办法就是一个手抓两个笔,这样每写一笔就是同时刻同模样的两笔,这就是并行。      

类比于物理,并行好像瞬时速度,并发好似平均速度,从数学角度并行是并发的真子集,因为满足并行的条件一定满足并发,反之则不然。

并发的本质在于对有限的物理资源强行复用,对多个用户共享以提高效率。对于单个CPU系统,多个程序的并发执行是宏观概念,微观上其实是顺序执行。对于多CPU系统而言,并发不仅体现在宏观上也体现在微观上这就是并行。

并发的好处:

        改善了资源的利用率,提高了系统效率。

并发的劣势:

           相对于顺序执行程序而言,增加了多个程序之间切换的复杂性。以及多个程序之间以何种策略运行,如何协调多个程序对于资源的竞争等等。

如何解决劣势:

        ① “进程”的引入就是为了解决多个程序的切换。

        ② 操作系统的各种策略和机制就是为了解决多进程竞争和协作。



                                            

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容