//定义委托
public delegate void GetMethod(string name);
//定义方法
private void DoSomething(string name)
{
Console.WriteLine("*********************DoSomething******Start*************{0}*",Thread.CurrentThread.ManagedThreadId);
for (int i = 0; i <1000000000; i++)
{
i++;
}
Console.WriteLine("*********************DoSomething******End**************{0}*",Thread.CurrentThread.ManagedThreadId);
}
//调用:同步:
GetMethod getMethod = DoSomething;
getMethod.Invoke("同步1");
getMethod.Invoke("同步2");
//调用:异步
getMethod.BeginInvoke("异步1",null,null);
getMethod.BeginInvoke("异步2",null,null);
如图(1) 的结果,会看到同步1,同步2都是前面执行完后才执行的。异1步和异步2是交叉进行的。