谈谈并行、并发或多线程

1.CPU的发展趋势:

     核心数目依旧会愈来愈多,根据摩尔定律,因为单个核心性能提高有着严重的瓶颈问题,普通的PC桌面在2018年可能回到24核心。多线程

2.并发和并行的区别:

     全部的并发处理都有排队等候,唤醒和执行这三个步骤,因此并发是宏观的观念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(通常是经过时间片轮转),因此在宏观上多个几乎同时到达的请求同时在被处理。若是是同一时刻到达的请求也会根据优先级的不一样,前后进入队列排队等候执行。并发

     并发与并行是两个既类似可是却不相同的概念:性能

         并发性:又称共行性,是指处理多个同时性活动的能力,。线程

         并行:指同时发生两个并发事件,具备并发的含义。并发不必定并行,也能够说并发事件之间不必定要同一时刻发生。 blog

     并发的实质是一个物理CPU(也能够是多个物理CPU)在若干个程序之间多路复用,并发性是对有限物理资源强制行使 多用户共享以提升效率。队列

     并行指两个或两个以上事件或活动在同一时刻发生,在多道程序环境下,并行使多个程序同一时刻可在不一样CPU上同时执行。    事件

     并发是在同一个cpu上同时(不是真正的同时,而是看来是同时,由于CPU要在多个程序之间切换)运行多个程序。资源

     并行是每个CPU运行一个程序。效率

     打个比方:并发就像一我的(CPU)喂两个小孩(程序)吃饭,表面上是两个小孩在吃饭,实际是一我的在喂。请求

                   并行就是两我的喂两个小孩子吃饭。 

3.并发、并行和多线程的关系:

     并行须要两个或两个以上的线程跑在不一样的处理器上,并发能够跑在一个处理器上经过时间片进行切换。

           

相关文章
相关标签/搜索