您的位置:首页 > 编程语言 > C语言/C++

paip.函数方法回调机制跟java php python c++的实现

2014-01-12 18:59 1096 查看
paip.函数方法回调机制跟java php python c++的实现

作者Attilax 艾龙, EMAIL:1466519819@qq.com

来源:attilax的专栏

地址:http://blog.csdn.net/attilax

5.73 方法函数回调

5.73.1 回调机制(同步调用、回调和异步调用。):

软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。

同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;

回 调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;

异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。

回调和异步调用的关系非常紧密:使用回调来实现异步消息的注册,通过异步调用来实现消息的通知。

========================================================

5.73.2 C/C++中,回调函数

在C/C++中,要用回调函数,被掉函数需要告诉调用者自己的指针地址

5.73.3 java中的方法回调 Callable接口

当通常大家说的回调函数一般就是按照别人的定好的接口规范写的,等待别人调用的函数,在C语言中,回调函数通常通过函数指针来传递;在Java中,通常就是编写另外一个类或类库的人规定一个接口,然后你来实现这个接口,然后把这个实现类的一个对象作为参数传给别人的程序,别人的程序必要时就会通过那个接口来调用你编写的函数。

在java中理解“回调函数”

////////调用-----main(_)函数

import static m.global.*;

callbackTest(new Icall() {

public <T> Object callbackMethod(T obj) {

System.out.println(obj);

return null;

}

});

/////

////////回调发生地详细global.java

public class global {

public interface Icall {

public <T> Object callbackMethod(T obj);

}

public static void callbackTest(Icall t) {

t.callbackMethod("halo o129");

}

}

5.73.4 Php , python方法回调

Php以及 python能直接把函数指针传入方法参数,以调用,也可以。使用了PHP内置的函数call_user_func_array
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: