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 }