一、异步调用的方法
Action委托的BeginInvoke调用实现的就是异步调用。
例
Action<string> action = fun;
for (int i = 0; i < 5; i++)
{
action.Invoke(i.ToString());
}
Action<string> action = fun;
AsyncCallback callback = ar =>
{
Console.WriteLine(ar.AsyncState);
Console.WriteLine($"程序完成,{Thread.CurrentThread.ManagedThreadId}");
};
action.BeginInvoke("文豪",callback,"hello Word");
其中action.BeginInvoke调用中的:第一个参数为fun函数的传参
第二个参数为叫AsyncCallback的委托,以IAsyncResult类型的ar为参数传递一个函数(再调用第一个参数成功后,自动调用第二个委托)用来当作监控,一般输出”程序完成“,保证了一个函数在异步完成之后执行。
第三个参数为一个object类型的任何数据,可以以ar.AsyncState的方式查看。
fun函数如下
public void fun(s