zoukankan      html  css  js  c++  java
  • 35 并行和并发有什么区别?

    并行和并发有什么区别?

    答:

    • 并行(Parallel):当系统有一个以上CPU时,一个CPU执行一个进程,而另一个CPU可以执行另一个进程。两个进程互不抢占CPU资源,可以同时进行。

    • 并发(Concurrent):多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,但从逻辑上来看那些任务是同时执行。

    并发和并行的区别:

    • 并行:多个事情,在同一时间点上同时发生了;且多个任务之间是不互相抢占资源的。

    • 并发:多个事情,在同一时间段内同时发生了;且多个任务之间是互相抢占资源的。

    • 只有在多CPU的情况中,才会发生并行。否则看似同时发生的事情,其实都是并发执行的。

    参考博文:https://cloud.tencent.com/developer/article/1424249 (概念)

    参考博文:https://blog.csdn.net/prostitute_virgin/article/details/98955620 (图片)

    拓展:

    • 单CPU的计算机:在CPU中,同一时间是只能分配一个进程。为了看起来像是“同时干多件事”--Windows这种操作系统是把CPU的时间划分成长短基本相同的时间区间,即”时间片“,通过操作系统的管理,把这些时间片依次轮流地分配给各个应用使用。

    • 操作系统时间片的使用是有规则的:某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃CPU,等待下一轮循环再继续做。此时CPU又分配给另一个作业去使用。
       

  • 相关阅读:
    Mysql索引优化分析
    mysql学习
    linux安装mysql
    MVC实例应用模式
    模型-视图-控制器MVC模式
    设计模式理解
    XX系统质量属性战术
    XX系统可用性易用性
    属性常见属性场景
    架构漫谈读后感
  • 原文地址:https://www.cnblogs.com/ynzj123/p/12771848.html
Copyright © 2011-2022 走看看