美文网首页
串行,并行,并发理解

串行,并行,并发理解

作者: 執著我們的執著 | 来源:发表于2018-06-24 18:19 被阅读0次

一个例子解决 : 洗衣做饭

假设你需要洗衣服和做饭(两个任务)
  1. 串行 : 先洗衣服,洗完后再做饭。(或者先做饭,做完后再洗衣)
  2. 并行 : 将洗衣盆拿到灶台,左右炒菜做饭,右手搓洗衣服。
  3. 并发 : 一会洗衣,一会做饭,但疾如闪电。

[注] 上述过程,体现了多任务,以人手为操作主体,以<2并行>理解,左手相当于一个CPU,右手相当于一个CPU,两者一起工作

  • 并行是指两个或多个事件在同一时刻执行,由多个CPU执行不同的事件。
  • 并发是指两个或多个事件在同一时间间隔发生(间隔恍如闪电),宏观上来看,是"同时"执行。

    在并发程序中,可以同时拥有两个或者多个线程,这意味着,如果程序在单核处理器上运行,那么这两个线程将交替的换入或者换出内存,这些线程是同时 '存在' --- 即每个线程都处于执行过程中的某一个状态。
    如果程序能够并行执行,那么一定运行在多核处理器核上,此时,程序中的每个线程都将分配到一个独立的处理器核上,因此可以同时运行。

  • 若某个系统支持两个或者多个动作(Action)同时存在,那么此系统是一个并发系统。
  • 若某个系统支持两个或者多个动作(Action)同时执行,那么此系统是一个并行系统。

综上 : "并行" 概念是 "并发" 概念的一个子集,也就是,可以编写一个拥有多个线程或者进程的并发程序,但如果没有多核处理器来执行,那么就不能以并行方式来执行代码。

图解
  1. 并发实际上是一个物理CPU(也可以是多个CPU)在若干道程序之间多路复用,并发行是对有限物理资源强制行使多用户共享以提高效率;
    并发,是在同一个CPU上同时(不是真正的同时,宏观上的同时,因为对于机器而言,CPU在多道程序间切换时间很短)

    并发
  2. 并行是指两个或以上的动作在同一时刻发生,在多道程序环境下,并行性是多个程同时在不同CPU上执行。
    并行,每个CPU运行一个程序

    并行

相关文章

  • 串行,并行,并发理解

    一个例子解决 : 洗衣做饭 假设你需要洗衣服和做饭(两个任务) 串行 : 先洗衣服,洗完后再做饭。(或者先做饭,做...

  • 理解串行,并行和并发

    串行 多个任务,执行时一个执行完再执行另一个。 比喻:吃完饭再看视频。 并发 多个线程在单个核心运行,同一时间一个...

  • java多线程(核心篇)第二章

    第二章 2.1 串行、并发与并行 并行可以被看作并发的一个特例。因此,并发往往是带有部分串行的并发,而并发的极致就...

  • 01-并发概述

    并发编程由来: 串行与并行 并发编程目的 并发编程的场景

  • 并行和并发

    我已经理解了并发和并行的区别 总结并行和串行:•串行:一次只能取得一个任务并执行这一个任务•并行:可以同时通过多进...

  • 并发、并行、串行

    并发   在讲并发之前,我们先要了解“核”的概念,我们经常会听到别人说我的电脑是双核的或者是4核的,核数越多电脑性...

  • 串行、并行、并发

    1. 串行 串行,是指一次只能取得一个任务并执行这一个任务。 2. 并行 并行,是指两个或者多个事件在同一时刻发生...

  • 串行、并行、并发

    串行 一个任务执行完在执行下一个任务。 比如先吃饭,吃完了去打游戏。串行就是简单地one by one的思路。 并...

  • 理解同步 ,异步,并发/并行,串行

    原文https://blog.csdn.net/Dr_YangZDY/article/details/808155...

  • jvm总结

    讲jvm之前先明确下串行、并行、并发的区别: 并行(Parallel): 必须多核支持 并发 (Concurren...

网友评论

      本文标题:串行,并行,并发理解

      本文链接:https://www.haomeiwen.com/subject/uklsyftx.html