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

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

posted @ 2014-01-12 18:59  attilaxAti  阅读(199)  评论(0编辑  收藏  举报