当前位置:   article > 正文

串行、并行、并发_oa中串行和并行是怎么实现的

oa中串行和并行是怎么实现的

  大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。

  本文主要介绍了串行、并行、并发,希望能对学习的同学们有所帮助。

  • 首先说明,并行与串行具有对比性,并发与二者并没有可比性。因为并发只是一种现象。
  • 并行和串行:
    • 并行:指的就是同一时刻多个进程可以同时在运行。由于一个CPU某一时刻只能运行一个程序,因此,并行(同一时刻运行多个程序)依赖于多核CPU。如同时打开qq和微信,且一直运行
    • 串行:同一时刻只能运行一个程序,如果存在多个程序,需要按照先后顺序执行。如单核CPU,我打开qq后,不能再同时打开微信,只能等qq执行完成(关闭)后才能打开微信。
  • 现象:最早之前,很多电脑还是单核CPU,但是依然可以同时打开多个应用程序(启动多个进程);现在的电脑虽然是多核的,但基本都是4核、8核、16核,但电脑却可以同时打开20多个应用程序。前面讲过同一时刻,一个CPU只能运行一个程序,这与上述现象发生了矛盾,原因如下:
    • 操作系统会将CPU拆分为一段段时间的运行片,轮流分配给不同的程序(从调度执行的角度即线程)。具体来讲,分为两种调度机制:
      • 抢占式调度:所有线程被不停地快速切换运行,使得用户感觉所有的线程都在并行运行;
      • 非抢占式调度:某个线程在运行时不会被操作系统强制暂停,它可以持续地运行直到运行告一段落并主动交出运行权。
    • 对于单核CPU,多个进程(线程)同时运行,是一种假的多进程(线程),只是CPU运行时间单元特别短,感觉不出来
    • 对于多核CPU,进程中的多线程并行执行。如果核数小于进程数,也是假的多线程(多进程)。
  • 并发:并发是一种现象,即看起来多个进程同时在运行的现象。现象的背后可能是并行,也可能是串行通过非抢占式调度引发的结果。

并行:多个程序(线程)在某个时刻同时运行,依赖于多核CPU

串行:运行完一个程序,才会执行下一个程序, 同一时刻不能同时运行

单核CPU也能同时运行多个进程(线程),这是一种假的多线程,因为一个CPU会划分成时间切片,可快速在多线程间进行切换执行,由于切换时间极短,看起来像是多个进程(线程)同时在运行。

并发:多个进程(线程)看起来同时在运行的现象(可能是并行,也可能是串行,如上述假的多线程)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/271746
推荐阅读
相关标签
  

闽ICP备14008679号