可以使用委托执行异步调用,以启动任何方法。对于每个异步调用,.NetFramework创建一个IAsyncResult
我想弄清楚 委托(IntAsyncDelegate)和 它调用的方法,
delegate int IntAsyncDelete(int number);
static IntAsyncDelete aDelegate;
aDelegate=new IntAsyncDelete(方法);
我想弄清楚 委托(AsyncCallback)和 IasyncResult
AsyncCallback callback=new AsyncCallback(方法)
但是这里的方法要这样定义
static void DisplayResult(IAsyncResult ar)
{
}
分析这样的代码
委托对象,调用方法Fiboancci();
aDelegate = new IntAsyncDelegate(Fibonacci);
委托对象,调用方法DisplayResult();
AsyncCallback callback = new AsyncCallback(DisplayResult);
Console.Write("Enter a number: ");
int number = int.Parse(Console.ReadLine());
把这个数字(number)传入到fibonacci方法,这个地方很重要就是
先执行fibonacci方法,让后执行DisplayResult方法
aDelegate.BeginInvoke(number, callback, number);
Console.WriteLine("wait while we process your request");
如果这里不用sleep.就会一下子执行,不会再去执行那两个方法。
Thread.Sleep(5000);