美文网首页
并发,并行 | 同步,异步 | 阻塞,非阻塞

并发,并行 | 同步,异步 | 阻塞,非阻塞

作者: eeert2 | 来源:发表于2020-03-21 09:46 被阅读0次
    • 并发:一个处理器同时处理多个任务,在多个任务间快速切换,实现多任务同时运行的效果。称为并发

    • 并行:多个任务同时进行,且每个任务单独由一个处理器支持,实现了多个任务的同时进行,称为并发


    同步异步:首先这两个词是形容词,意思是同步的,异步的
    他们修饰的名称是函数,方法,任务[ 不同的语言有不同的叫法 ]
    完整的理解就是同步的方法异步的方法

    • 同步:执行任务时候等结果返回后再进行下一步,就称他们是同步的。同步也是面向过程的基础,当我们执行任务有明显的依赖关系,就必须使用同步。
      [我们平时的代码大部分都是同步,调用函数1的返回结果,传入函数2,再等待函数2执行完毕后,执行……]

    • 异步:异步是指我们执行任务后,不等待任务的执行结果,立即执行下一步。
      打枪的时候,你会等待第一发子弹执行完毕再打第二枪吗?
      我们不是姜文,不必等待"让子弹飞一会"一枪打出去,不用等待结果,接着开枪就是了

    异步一般用于与IO操作有关的地方。

    例如在前端加载页面的时候,该页面有100张图片,我们不必等待确认第一张加载完成后,再去执行第二张。而是直接发出100个异步请求。


    阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。

    非阻塞:非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

    相关文章

      网友评论

          本文标题:并发,并行 | 同步,异步 | 阻塞,非阻塞

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