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

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

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

同步与异步

同步

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

异步

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


并发与并行

先贴一张图:


CUP时间概念图

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

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

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

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

串行

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

相关文章

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

    同步与异步 同步 在多任务情况下,一个任务执行结束,才执行另一个任务,只有一条运行主线。 异步 异步是相对于同步而...

  • 多线程GCD的使用

    一、同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系。 2.串行/并行 串行、并行...

  • GCD 小结

    一、 同步/异步、串行/并行的区别 1.同步/异步 同步/异步是指线程与线程之间的关系. 2.串行/并行 串行/并...

  • 多线程处理(问题使用方法)

    一、同步与异步、串行与并发: 首先我们要明白:什么是同步、异步?什么是并发、串行?同步、异步是提交任务的一种方式,...

  • IOS多线程总结

    目录 简述 NSThread GCD操作与队列异步操作并行队列同步操作并行队列同步操作串行队列异步操作串行队列队列...

  • iOS多线程小结

    同步异步串行并行 同步串行:不开启线程 同步并行:不开启线程 异步串行:最多开启一个线程 异步并行:开启线程 同步...

  • GCD基础总结一

    上代码~ 同步串行队列 同步并行队列 异步串行队列 异步并行队列 主队列同步 会卡住 主队列异步

  • ios GCD概述

    GCD 容易混淆的术语 同步/异步/并发/串行 同步和异步: 决定要不要开启新的线程 并发与串行 决定了任务的执行...

  • ObjC-多线程之GCD

    介绍 基本概念 串行和并行 并发和并行 下图描述的就是并发和并行的区别。 同步和异步 函数说明 Dispatch ...

  • sync 和 async区别

    同步,异步,串行,并行

网友评论

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

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