打印
[牛人杂谈]

回调函数思想

[复制链接]
503|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yiyigirl2014|  楼主 | 2016-10-26 19:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

回调函数:

  简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。


  回调函数好处:

  因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。
       避免重复代码
      在你需要更多的通用功能的地方更好地实现抽象(可处理各种类型的对象和变量)。
      增强代码的可维护性
      增强代码的可读性(比较大的项目)
      有更多定制的功能

在软件模块调用中,主要有三种机制:

同步调用,异步调用和回调。
         同步调用是调用方(A)call被调用方(B)的接口,并等待B处理完给出一个回执后A才继续执行,这期间是“阻塞”的。
         异步调用是调用方(A)call被调用方(B)的接口后,不等待B执行完,且B在被调用后会直接回执A。
         回调是调用方(A)call被调用方(B)时,B也回调(callback)被调用方,双方互调接口,只不过call动作是由A发起的。
同步调用是最简单的,异步调用一般是在回调的基础上实现的。所以了解“回调”的机制是至关重要的。


沙发
yiyigirl2014|  楼主 | 2016-10-26 19:05 | 只看该作者

递归编程4条基本法则:

a、基准情形,有初解,无需递归即能解出

b、不断推进,每一次递归调用,朝基准情形推进

c、设计法则,所有的递归调用都能进行

d、合成效益法则,在求解一个问题的同一实例时,不能做重复性的递归调用


使用特权

评论回复
板凳
mintspring| | 2016-10-27 11:34 | 只看该作者
讲的很明白透彻,终于搞清楚咋回事了。

使用特权

评论回复
地板
734774645| | 2016-10-27 17:07 | 只看该作者
现在好多的库函数,还有嵌入式开发都会用到这个概念。

使用特权

评论回复
5
dongnanxibei| | 2016-10-27 18:42 | 只看该作者
好深奥,的确有一套。

使用特权

评论回复
6
wahahaheihei| | 2016-10-29 18:09 | 只看该作者
回调函数就是一个通过函数指针调用的函数。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

202

主题

3490

帖子

10

粉丝