IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    avbot 里的回调

    microcai (microcaicai@gmail.com)发表于 2014-05-25 00:00:00
    love 0

    asio 这样的库,每次发起一个操作,就带一个回调.回调告诉你,神马时候操作完成了,完成的咋样.

    在所有被主动调用的接口处, avbot 基本上都遵循了 asio 的这一设计准则:提供回调完成事件通知.

    但是,还有另一种回调:这个回调并不是因为你主动调用了某个接口,而是因为,这是框架的一部分.

    你不用调用框架,框架会来调用你.

    在被框架调用的地方,如果阻塞了,势必会导致框架内部的执行流被整个阻塞.比如说,如果设定一个 "验证码回调",框架登录QQ发现需要验证码的时候就调用.那么,执行解验证码这个操作如果费时(这 肯定费时啊,等待用户从控制台输入嘛)会导致整个avbot的内部循环被阻塞. 

    这明显不是我想要的结果.

    这也是因此我极力避免框架式设计. 但是,框架式设计有时候又是无可奈何的最简单的做法.

    那么,为何不让我们的回调接受一个框架传来的 Handler ?

    是的! 这样框架就无需要求回调一定是非阻塞的了!



沪ICP备19023445号-2号
友情链接