参考维基百科链接:
回调通常与原始调用者处于相同的抽象层
回调函数的意义在于底层library代码中,需要调用函数,但这些函数无法在library阶段确定,所以要在application阶段由用户来定义。回调机制允许调用者在实际应用程序编写中调整底层library函数的行为。
这种机制使得library函数无法完全成为一个封闭的系统,必然一些工具的设计中带了挑战和研究点。
这种情况在很多语言中都用例子,最典型的是OO语言中,很多设计模式中需要用到回调机制。
例子:
void sig(int signum) { printf("Received signal number %d!\n", signum); }
signal(SIGUSR1, sig);
语言机制:
很多语言都提供了一些特殊的语言机制来支持回调,详见这里。
原文:http://www.cnblogs.com/gingq/p/3533445.html