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

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

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

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

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

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

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

  • 相关阅读:
    Tomcat虚拟目录的映射方式
    Linux常用命令
    java断点调试
    破解MyEclipse
    JS判断浏览器
    css3 box-sizing详解。
    this-使用call . apply
    this-内部函数
    this-对象方法调用
    this-纯函数
  • 原文地址:https://www.cnblogs.com/lz-tester/p/9344533.html
Copyright © 2011-2022 走看看