异步编程

1.开辟一个新线程去运行你的方法,主线程包括界面就不会死掉了,有效的避免了卡顿,卡死现象

2.能异步的,最好不多线程;异步是创建了一个新的线程,多线程是在原有的线程中创建出一个虚拟线程,

 1        //3.实例化委托对象
 2             GetDeleGate gdg=new GetDeleGate(GetSum);
 3         //1.创建委托
 4         public delegate int GetDeleGate(int num1);
 5         //2.创建委托方法
 6         public static int GetSum(int num1)
 7         {
 8             return num1*num1;
 9         }
10         private void button1_Click(object sender, EventArgs e)
11         {
12             for (int i=0;i<10;i++)
13             {
14                 Thread.Sleep(500);
15                 gdg.BeginInvoke(i, PrintCallBack, null);  
16                 Thread.Sleep(1000);
17                 Console.WriteLine("同步"+GetSum(i));  
18             }
19 
20         }
21         //异步完成之后的回调方法
22         public void PrintCallBack(IAsyncResult iar)
23         {
24             //接收异步返回的结果
25             var info=gdg.EndInvoke(iar);
26             Console.WriteLine("异步"+info);
27         }
原文地址:https://www.cnblogs.com/JueXiaoQiang/p/8053832.html