网络编程-多任务,并发,并行--从底层工作原理解释,让你不再傻傻分不清这些到底什么意思

知识点:我们经常会把多任务,并行,并发这些词挂在嘴边,但是你能了解这些词到底什么意思吗?工作原理是怎样的呢?其实有经验的程序员让他讲也讲不清,反正我之前就是糊里糊涂地,搞清底层运行原理,自然就分得清了,下面直接看图:

注意:下图的0.00001秒是我举得例子,并不是cpu真正运行速度

图上的解释字太小,我把拷贝出来:

   1、多任务:几个程序同时运行 
   2、多任务分为并发和并行:
                                   (1)  并行:是真正的多任务

                                   (2)并发:假的多任务,生活中我们所说的多任务都是假的多任务,上面的例子就是假的多任务,cpu以每秒0.0001秒的速度轮流运行这几个程序,运行个放一个,再运行下一 个,如此循环,这也叫时间片轮转,因为速度快,所以我们看起来就是几个程序都是再运行。
  
  
                                   (3)什么叫并行:假如我电脑是4核的,只同时运行四个程序,每个程序运行时刚好占用一个cpu, 此时是真的多任务,四个程序真的起并行运行。

  
                                   (4)  什么叫并发:生活中我们电脑4核已经算高配了,而且我们同时运行的程序远远超过cpu核数,假如同时运行八个程序,4个cpu,那么只有四 个程序能同时占用这四个cpu,剩下的四个程序呢?如果想这八个程序同时运行,原理和上图样, 采用时间片轮转。
                                                    
总结:  当运行程序个数大于电脑cpu个数时,就是并发,也就是假的多任务
           当运行程序个数小于或等王cpu个数时就是并行。 真的多任务 

posted @ 2018-07-20 22:57  上海小盖伦  阅读(343)  评论(0编辑  收藏  举报