首页 > 其他 > 详细

c#异步编程 总结

时间:2017-02-07 00:58:16      阅读:197      评论:0      收藏:0      [点我收藏+]

C# 异步编程:  不需要等待,谁先出结果谁先出来

  1. 声明委托
  2. 根据委托定义实现方法
  3. 异步调用 :

(1)     创建委托变量并指向具体方法(代表方法)

 

 

**通过委托异步调用方法:

*委托类型的BeginInvoke(<输入和输出变量>,AsyncCallback callback,object asyncState)方法  异步调用的核心, BeginInvoke(多线程能执行的原因):输入和输出变量:表式委托对应的实参。第二个参数:回调函数,表示异步调用后自动调用的函数。第三个参数:用于向回调函数提供参数信息。返回值:IasyncResult:异步操作状态接口,封装了异步执行中的参数。EndInvoke监视BeginInvoke。委托类型的EndInvoke()方法:借助IasyncResult接口对象,不断查询异步调用是否结束。该方法知道异步调用的方法所有参数,所以,异步调用完毕后,取出异步调用的结果作为返回值。

(2)     异步调用任务:

  IasyncResult result=委托变量.BeginInvoke(方法的参数,null,null)

         (3)同时执行其他任务(非异步)

        (4)获取异步执行的结果

               任务的类型  res=委托变量.EndInvoke(result);

                EndInvoke()方法不断循环检测运算是否结束。

总的思想:方法是通过委托变量的委托BeginInvoke()对象异步执行,EndInvoke()观察异步执行是否完

c#异步编程 总结

原文:http://www.cnblogs.com/bfwbfw/p/6372172.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!