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#的委托方式发起线程
最新推荐文章于 2024-08-07 17:59:38 发布
本文详细介绍了如何在C#中运用委托来启动新的线程,特别关注于游戏开发和Unity引擎的应用场景,同时也涉及到了虚拟现实(VR)技术的结合。通过实例代码和解释,读者将理解如何在C#的多线程环境中使用委托,提升游戏性能和VR应用的响应速度。
摘要由CSDN通过智能技术生成