`

回调函数理解

阅读更多

http://www.cnblogs.com/wangchenyang/archive/2011/08/16/2140744.html

 

<1>

所谓回调,就是客户程序CLIENT调用服务程序SERVER中的某个函数SA,然后SERVER又在某个时候反过来调用CLIENT中的某个函数CB,对于CLIENT来说,这个CB便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。
一般说来,CLIENT不会自己调用CB,CLIENT提供CB的目的就是让SERVER来调用它,而且是CLIENT不得不提供。由于SERVER并不知道CLIENT提供的CB叫甚名谁,所以SERVER会约定CB的接口规范(函数原型),然后由CLIENT提前通过SERVER的一个函数R告诉SERVER自己将要使用CB函数,这个过程称为回调函数的注册,R称为注册函数。Web SERVERerviCliente以及Java的RMI都用到回调机制,可以访问远程服务器程序。

 

<2>

回调用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调,例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。
其实回调和API非常接近,他们的共性都是跨层调用的函数。但区别是API是低层提供给高层的调用,一般这个函数对高层都是已知的;而回调正好相反,他是高层提供给底层的调用,对于低层他是未知的,必须由高层进行安装,这个安装函数其实就是一个低层提供的API,安装后低层不知道这个回调的名字,但它通过一个函数指针来保存这个回调,在需要调用时,只需引用这个函数指针和相关的参数指针。

 

<3>

个人的理解:回调就是预留的接口,以备被调来调用这个主调设置的方。具体如何实现这个方法,是主调来维护的。这在java的面向接口编程中很是常见。从“层”观点来理解比较合理,很好理解。

 

分享到:
评论

相关推荐

    详解C#委托,事件与回调函数

    详解C#委托,事件与回调函数

    C++中回调函数(CallBack)的用法分析

    本文实例分析了C++中回调函数(CallBack)的用法。分享给大家供大家参考。具体分析如下: 如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过。 其错误是普通的C++成员函数都隐含了一个传递...

    Android回调函数的例子

    Java回调函数的理解。通过在Android小程序下运行一个Java回调程序。代码内部有简单讲解。

    回调函数实例练习

    这个程序是我在理解回调函数时编写的一个Demo. 里面包含了三部分: 1.回调函数 2.观察者模式 3.代理模式 配套有CSDN博文:关于回调函数的理解,以及观察者模式,代理模式

    帮助理解回调函数的简洁实例

    通过代码复用的场景理解回调函数是怎么一回事 http://blog.csdn.net/github_32453995/article/details/49532641

    19.C#中委托、事件和回调函数的理解.pdf

    19.C#中委托、事件和回调函数的理解.pdf 19.C#中委托、事件和回调函数的理解.pdf

    回调函数总结

    java开发总结对回调函数的理解,以及描述,举例等..................

    理解和使用 JavaScript 中的回调函数

    理解和使用 JavaScript 中的回调函数,,,,,,,,,,,,,,,,,,

    Java回调函数的理解

    某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出...我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。

    安卓开发中的回调函数的Demo

    该代码只是个很简单的回调函数的demo,供那些对回调函数不是很理解的人参考,本人能力有限,有不妥当的地方欢迎批评指正

    C语言 回调函数详解

    但是回调函数的理解和使用却不是一件简单的事,在本篇我们根据我们个人的理解和应用经验对回调函数做简要的分析。 1、什么是回调函数  既然谈到了回调函数,首先我们就要搞清楚什么是回调函数。在讨论回调函数之前...

    c#回调函数

    回调函数的认识,和大概理解,大家交流学习

    js回调函数

    理解JavaScript的闭包是迈向高级JS程序员的必经之路, 理解了其解释和运行机制才能写出更为安全和优雅的代码。

    jQuery回调函数的定义及用法实例

    jQuery代码中对回调函数有着广泛的应用,对其有精准的理解是非常有必要的,下面就通过实例对此方法进行简单的介绍。 代码实例如下: 利用回调函数,当div全部隐藏之后弹出一个提示框。 代码如下: &lt;!DOCTYPE ...

    理解javascript回调函数

    这个函数就是所谓的回调函数 经常遇到这样一种情况,某个项目的A层和B层是由不同的人员协同完成.A层负责功能funA,B层负责funcB。当B层要用到某个模块的数据,于是他对A层人员说,我需要你们提供满足某种需求的数据,你...

    回调函数详解(从根本上理解消息与事件)

    word文档,回调函数的详细讲解,清楚明了,解开回调函数的迷雾。并从根本上理解消息与事件的原理。

    C++ 课程作业 数组指针与字符串1——冒泡排序(函数指针,回调函数)

    回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来...希望通过这道题目,可以帮助大家理解函数指针与回调函数。本题较为简单,仅能处理整数的不同排序。

    什么是回调函数.txt

    详细介绍什么是回调函数,对理解什么是回调函数有很好的用处

    深入VC回调函数的使用详解

    回调函数说白了就是事件响应程序,Windows的每个消息可以理解为一个事件,事件的响应代码要由用户自己来定义。用户定义了事件响应的代码,但还要Windows知道这段代码的位置(要不然Windows就不知道如何去调用,这也...

Global site tag (gtag.js) - Google Analytics