首页 新闻 会员 周边

异步调用的问题

0
[待解决问题]

在看多线程的时候,谈到了委托:

   如果定义一个委托,CRL在幕后为定义为委托生成一个密封类,其中有个方法:

   BeginInvoke()与EndInvoke().书上说“BeginInvoke()中返回的IAsynResult兼容对象主要是一种  偶尔机制,它允许调用的线程在稍后通过EndInvoke()获取异步方法调用的结果".

请大家给我解释下,EndInvoke()在稍后怎样获得异步调用的结果?

风云Fyun的主页 风云Fyun | 初学一级 | 园豆:5
提问于:2010-10-20 09:46
< >
分享
所有回答(2)
0

异步调用的结果就在IAsynResult里面,作为参数传入EndInvoke。

wang_yb | 园豆:4891 (老鸟四级) | 2010-10-20 12:56
0

 AsyncCallback callback = new AsyncCallback(callbackM);
            IAsyncResult iar = asyncHello.BeginInvoke("shi",callback, null);

 

static void callbackM(IAsyncResult iar)
        {
            if (iar.IsCompleted)
            {
                Console.WriteLine(iar.ToString());
            }
        }

 

 第二个参数,是一个callback。

Virus-BeautyCode | 园豆:1619 (小虾三级) | 2010-10-20 13:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册