欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

04委托开启线程

发布时间:2025/3/21 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 04委托开启线程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Func<先写完参数,再写返回值>

1.异步委托的方式 : 这个里的是等待结束

Thread.Sleep(10),睡眠10毫秒

 

if里的判断是???不用等待,一直检查是否为真

2.等待句柄的方式:这个里的是等待过程

if里发判断是阻止线程运行时间.b为true表示等待完成,你的结果有没有完成我都要离开了,有我就带着答案走,

睡眠200毫秒,等待250毫秒

 

 

 

1 //2018/09/26 17:27:23 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 using System.Threading; 7 using System.Threading.Tasks; 8 9 namespace _004委托开启线程 10 { 11 class Program 12 { 13 static void Main(string[] args) 14 { 15 Func<int, string, int> f = Text; 16 // f.BeginInvoke(20,"abc",null,null);//开启一个线程 17 IAsyncResult ar = f.BeginInvoke(20, "abc", null, null);//返回当前异步委托状态,持续进行,直到拿到返回值 18 //while (!ar.IsCompleted) //看一下等待的过程 19 //{ 20 // Console.WriteLine("*"); 21 // Thread.Sleep(10); 22 //} 23 int resoult = f.EndInvoke(ar); 24 Console.WriteLine("Main"); 25 Console.WriteLine(resoult);

//第二种开启方式等待句柄异步委托
26 //Func<int, string, int> f = Text; 27 //IAsyncResult ar = f.BeginInvoke(20, "张三", null, null); 28 //bool b = ar.AsyncWaitHandle.WaitOne(50);//返回阻止线程运行时间,b为true表示结果等待完成(最多等待的时间) 29 //if (b) 30 //{ 31 // int resoult = f.EndInvoke(ar); 32 // Console.WriteLine(resoult); 33 //} 34 35 } 36 public static int Text(int age, string name) 37 { 38 39 Thread.Sleep(20); 40 Console.WriteLine(age + name); 41 return 100; 42 } 43 } 44 }

 3.第三种开启方式 匿名委托回调函

(题外 匿名委托的用法)

 

3.用匿名委托的方式完成和上边一样的操作

 

 

1 Func<int, string, int> f = Text; 2 // f.BeginInvoke(20, "张三", BackObject, f); 3 Func<int, string, int> f = Text; 4 f.BeginInvoke(20, "张三", ar => 5 { 6 int res = f.EndInvoke(ar); 7 Console.WriteLine(res); 8 }, f); 9 Console.ReadKey(); 10 } 11 public static void BackObject(IAsyncResult ar) 12 { 13 Func<int, string, int> f = ar.AsyncState as Func<int, string, int>; 14 int res = f.EndInvoke(ar); 15 Console.WriteLine(res); 16 17 18 }

 

转载于:https://www.cnblogs.com/satanj/p/9708902.html

总结

以上是生活随笔为你收集整理的04委托开启线程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。