class Program { //一般我们会为比较耗时的操作 开启单独的线程去执行,比如下载操作 static int Test(int i,string str) { Console.WriteLine("test"+i+str); Thread.Sleep(100);//让当亲线程休眠(暂停线程的执行) 单位ms return 100; } static void Main(string[] args) {//在main线程中执行 一个线程里面语句的执行 是从上到下的 //1,通过委托 开启一个线程 //Func<int,string,int> a = Test; //IAsyncResult ar = a.BeginInvoke(100,"siki",null,null);// 开启一个新的线程去执行 a所引用的方法 //IAsyncResult 可以取得当前线程的状态 //可以认为线程是同时执行的(异步执行) //Console.WriteLine("main"); //while (ar.IsCompleted==false)//如果当前线程没有执行完毕 //{ // Console.Write("."); // Thread.Sleep(10); //控制子线程的检测频率 //} //int res =a.EndInvoke(ar);//取得异步线程的返回值 //Console.WriteLine(res); //检测线程结束 //bool isEnd
C#的委托方式发起线程
猜你喜欢
转载自blog.csdn.net/qq_39646949/article/details/123080209
今日推荐
周排行