zoukankan      html  css  js  c++  java
  • 串行&并行&并发,同步&异步

    1. 串行&并行&并发

    1.1 串行

    这个非常好理解,字面意思,像串成一个串一样,顺序执行
    上一个没执行完的话,后面的就必须无条件等待
    一般情况就是一个线程里:任务一个接一个执行,类似于打饭只有一个窗口,还必须严格排队

    1.2 并行

    并行就是各干各的,彼此谁都不搭理谁

    类似于打饭有好几个窗口,每个窗口都排着一条队

    1.3 并发

    这个就是比较难理解的了

    我感觉这个词就是大家不知道取什么名字了然后就随便编了一个(小声BB)

    这个就是各个线程在并行的同时,又各自盯着对方,能帮就帮,都是兄弟

    就比如:
    线程1:烧水耗时10分钟
    线程2:梳头3分钟
    线程3:听歌30分钟
    线程4:洗头(需要热水)10分钟

    这个流程大概就是

    这个图应该已经很明白了吧

    2. 同步&异步

    2.1 同步

    同步就是并发场景下,大家做出的成果讨论完了给一个最终结果

    而且,同步里面有一个很重要的概念就是锁

    比如:食堂里面只有一块肉了,那么就只能是一个窗口卖这个肉,一旦一个窗口卖出去了这块肉,别的窗口就不能卖了

    更形象的例子是,小米手机刚发布,可你点击购买按钮,却在加载完一个动画后,显示售罄
    这就是同步,只不过同步这个过程发生在后台,前台页面还没刷新出来

    2.2 异步

    还是小米商城抢购的例子

    前台抢购的任务和后台记录订单的任务在不同线程上面

    就好比:前台有个漂亮性感的小姐姐,你问她要一个最新款的小米手机,她只会告诉你:好的,我记录一下,请在旁边稍等。然后下一位!
    她不会直接问有没有货,而是让你等着,没货的消息来了,她再告诉你
    她只负责频繁地接待每一位顾客,然后让他在旁边稍等而已

    下载软件在后台下载,而你在前面看小视频,这也是异步

    同理,你点击一个播放按钮,出现加载动画,也是异步。

  • 相关阅读:
    [TJOI2019]大中锋的游乐场——最短路+DP
    [TJOI2019]甲苯先生的滚榜——非旋转treap
    [TJOI2019]甲苯先生的字符串——矩阵乘法+递推
    [TJOI2019]唱、跳、rap和篮球——NTT+生成函数+容斥
    [ZJOI2020]字符串
    Ubuntu 20.04 工作区小记
    2020省选犯傻记
    寒假到省选的一些笔记
    AtCoder tokiomarine2020 题解
    [CF1336E]Chiori and Doll Picking
  • 原文地址:https://www.cnblogs.com/hairless/p/13308778.html
Copyright © 2011-2022 走看看