明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

delegate 与异步调用。。。。。。。。。。。

Posted on 2008-11-04 14:26  且行且思  阅读(341)  评论(0编辑  收藏  举报
using System;

public delegate int AsyncMethod(int start,int end);//声明一个delegate

public class AsyncDemo
{
    
public static void Main()
    {
        AsyncMethod async 
= new AsyncMethod(DoSum);//实例化delegate
        IAsyncResult result = async.BeginInvoke(1100000);//开始异步调用
        Console.WriteLine("开始工作了。"+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
        
int sum = async.EndInvoke(result);//停止结束异步调用
        Console.WriteLine("结果是:" + sum);
        Console.WriteLine(
"结束工作了。" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
    }

    
public static int DoSum(int start, int end)
    {
        
int result = 0;
        
for (int i = start; i < end; i++)
        {
            result 
+= i;
        }
        
return result;
    }
}