• 同步与非同步,阻塞与非阻塞。


    我试图去搞明白它们的区别,但是发现网上很多的类别都非常的模糊。

    其实对于程序员来说,不需要那么多类比,下面我自己从程序的角度来理解这个事情。

    阻塞/非阻塞:只是描述函数调用是否立即返回,如果一定完成之后才返回,那么就是阻塞,如果调用立即返回(不是调用,而是通知了)就是非阻塞。

    同步/异步:描述的是两个对象之间的操作的关系。 同步是a调用b的一个功能后,必须等到b返回,a才继续。而异步不用等待。所以异步必须要非阻塞才能实现。
    但是同步可以使用阻塞或者非阻塞来实现。

    总体来说,说的是一个事情,不过就是描述对象不同。

    非阻塞是比较牛逼的。多路复用(select 方法)是一种杂交混合,标准的非阻塞都是用回调函数/中断/事件的方式来实现的。

    大部分设计模式里面的事件循环,回调函数,就是通过设计的方式来把阻塞变成非阻塞。

  • 相关阅读:
    ES6的let命令
    html5的新标签
    text()和html()的区别,以及val()
    jquery链接多个jquery方法
    jquery实现动画
    jquery的滑动
    jquery实现淡入淡出
    jquery的hide()和show()
    jquery里面的名称冲突解决方法
    写给W小姐的一封信
  • 原文地址:https://www.cnblogs.com/zhuchunxu/p/7787408.html
Copyright © 2020-2023  润新知