异步回调与多播

原创 2007年10月01日 16:23:00

异步回调:实例化委托是一个对象,故可将其作为参数进行传递,也可将其赋值给属性。这样,方法便可将一个委托作为参数来接受,并在以后可以调用该委托。

多播委托:举个例子,del是一个委托,Method1和Method2是obj对象的两个方法,则委托可这样写:

                    del   d1=obj.Method1;

                    del   d2=obj.Method2;

                    del   d3=d1+d2;

                    d3( );

当然Method1和Method2可不属于同一实例,但两个方法都必须不能有返回值。

异步回调和多播的一个例子:

class Program
...{
    
public delegate void del(string msg);
 
    
static void Main(string[] args)
    
...{
        DelClass myDel
=new DelClass();
        del handle 
= new del(myDel.printMsg);
        handle(
"hello world");
        
        DelHandle myHandle 
= new DelHandle();
        handle 
= new del(myHandle.hangleMsg);
        handle(
"handle msg");
 
        
//异步回调
        printAllMsg("call""back", handle);
 
        
//多播
        del d1 = myDel.method1;
        del d2 
= myDel.method2;
        del d3 
= myDel.printMsg;
        del allMethod 
= d1 + d2;
        allMethod 
+= d3;
 
        allMethod(
"all method ");
 
        Console.ReadLine();
    }

 
    
private static void printAllMsg(string param1, string param2, del myCallBack)
    
...{
        myCallBack(param1 
+ param2);
    }

}

 
public class DelClass
...{
    
public void printMsg(string msg)
    
...{
        Console.WriteLine(msg);
    }

 
    
public void method1(string msg)
    
...{
        Console.WriteLine(msg
+"method1");
    }

 
    
public void method2(string msg)
    
...{
        Console.WriteLine(msg 
+ "method2");
    }

}

 
public class DelHandle
...{
    
public void hangleMsg(string msg)
    
...{
        Console.WriteLine(msg);
    }

}

 

函数回调机制、异步函数回调机制图例详解

无论是JS的函数回调还是Java回调机制,它们思想都是类似的,简单来说就是,如下图所示:                                在层次一中的方法一(函数)调用层次二中的方法,而...
  • zhangliangzi
  • zhangliangzi
  • 2016年07月29日 20:10
  • 6297

异步调用和回调函数

异步调用在应用程序框架中具有广泛的应用,并且特指多线程情况下。它同Windows的消息循环机制,消息响应,消息队列,事件驱动机制以及设计模式中的观察者模式等都是紧密相关的。        回调函数用于...
  • kobejayandy
  • kobejayandy
  • 2013年12月29日 16:26
  • 9456

支付宝异步回调

层次决定理解,还是理解不够,实践缺欠 现支付宝的通知有两类。  A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式  B页面跳转通知,对应的参数为retu...
  • qiandublog
  • qiandublog
  • 2016年12月01日 13:24
  • 2748

同步和异步回调

同步和异步回调作者:havoc (原文地址:http://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)...
  • yunnysunny
  • yunnysunny
  • 2015年03月29日 14:38
  • 3338

深入浅出: Java回调机制(异步)

Writer      :BYSocket(泥沙砖瓦浆木匠) 什么是回调?今天傻傻地截了张图问了下,然后被陈大牛回答道“就一个回调…”。此时千万个草泥马飞奔而过(逃 哈哈,看着...
  • u010164190
  • u010164190
  • 2017年01月06日 16:38
  • 459

python异步回调函数的实现

说到异步回调函数的应用,最经典的就是ajax。 首先我们回想一下ajax是如何工作的。variable=new XMLHttpRequest(); xmlhttp.onreadystatechang...
  • payinglee
  • payinglee
  • 2013年06月01日 19:48
  • 14545

java接口回调、同步回调、异步回调

一、回调         回调用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调。         例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处...
  • tfygg
  • tfygg
  • 2016年05月15日 16:20
  • 2203

异步事件回调机制原理探索

自定义的异步事件回调机制: 可以在自己的应用程序中,先注册事件和事件对应的回调函数(回调函数可以是函数指针法,虚函数方法的方式);自己程序中每帧检测事件是否发生或者条件是否满足,满足的时候就进入回调函...
  • Blues1021
  • Blues1021
  • 2015年03月15日 12:58
  • 5265

Unity3D Animator 动态添加事件回调和替换动画

主要的层次结构式是, Animator 包含一个 AnimatorStateController 控制器, Controller 含有多个层,每个层含有多个状态, 每个状态可以绑定一个Animatio...
  • tom_221x
  • tom_221x
  • 2015年12月23日 19:27
  • 8306

网络get/post请求异步同步请求回调

教你怎么写网络异步同步请求回调最近需要用到请求网络数据,在网上一直查找,都找不到,要么是说的不明白,之后我自己动手来实现了。网络回调,分为同步和异步,多数情况都会用异步,但是也有情况用到同步的。无论同...
  • a136558
  • a136558
  • 2016年05月12日 18:55
  • 1481
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:异步回调与多播
举报原因:
原因补充:

(最多只允许输入30个字)