美文网首页python爬虫
同步与异步、并发与并行、串行简单梳理

同步与异步、并发与并行、串行简单梳理

作者: 放风筝的富兰克林 | 来源:发表于2018-08-06 11:51 被阅读0次

    同步与异步

    同步

    在多任务情况下,一个任务执行结束,才执行另一个任务,只有一条运行主线。

    异步

    异步是相对于同步而言的,在多任务情况下,多个任务执行时间没有先后顺序,可以同时运行,存在多条运行主线。


    并发与并行

    先贴一张图:


    CUP时间概念图

    在前面线程与进程梳理的梳理文章也介绍过CUP的工作模式。

    https://www.jianshu.com/p/a2f1a2b98c42

    并发和并行可以说是异步编程实现的两种模式,并发是一种伪异步,CUP会不断地去切换任务,由于这个切换速度很快,所以看起来就像多个任务在一起执行(就好像高速旋转的电扇在我们肉眼看起来就是一个‘完整’的圆面,事实上就以人类时间观来看,cup比电扇转的速度快很多很多很多很多)。而并发则是在多个CUP上执行开启多条线程让多个任务同时执行。

    Erlang之父Joe Armstrong 解释并发与并行
    简单的来说,并发和并行都是处理多个任务(动作)的能力,而并发和并行的区别则是是否能同时去完成这些任务。
    并行一定包含并发,并发不一定包含并行。

    串行

    它其实是同步线程的实现方式,就是任务一个个按顺序执行,前一个任务执行结束才能开始执行下一个任务,单个线程只能执行一个任务。

    相关文章

      网友评论

        本文标题:同步与异步、并发与并行、串行简单梳理

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