欢迎访问 生活随笔!

生活随笔

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

编程问答

Parallel类

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

1,用Parallel.For()方法循环

    class Program{static void Main(string[] args){//=============================第一种Parallel.For(0,//第一个参数:开始索引10,//第二个参数:最大索引(i, parallelLoopState) =>//第三个参数:循环委托方法{Console.WriteLine("索引:{0},任务id:{1},线程id:{2}", i, Task.CurrentId, Thread.CurrentThread.ManagedThreadId);});//=============================第二种Parallel.For<string>(0,//第一个参数:开始索引10,//第二个参数:最大索引//第三个参数:线程开始的方法() => { Console.WriteLine("线程开启:{0}", Thread.CurrentThread.ManagedThreadId); return "aa"; },//第四个参数:循环委托方法(i, pls, str1) => { Console.WriteLine("索引:{0},线程id:{1},任务id:{2}", i, Thread.CurrentThread.ManagedThreadId,Task.CurrentId); return "bb"; },//第五个参数:线程结束的方法str => Console.WriteLine("线程结束:{0}", Thread.CurrentThread.ManagedThreadId));Console.ReadLine();}}

 

2,用Parallel.ForEach()方法循环

    class Program{static void Main(string[] args){string[] data = new string[] { "1", "2", "3", "4" };Parallel.ForEach(data, r => {Console.WriteLine(r);});Parallel.ForEach<string>(data, (r, p, l) =>{//r:遍历数组的值//l:数组的索引Console.WriteLine(r + "," + l);});Console.ReadKey();}}

 

3,用Parallel.ForEach()方法并行调用多个方法

    class Program{static void Main(string[] args){Parallel.Invoke(Foo, Bar);Console.ReadLine();}private static void Foo(){Console.WriteLine("Foo; task:{0};threadis:{1}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);}private static void Bar(){Console.WriteLine("Bar; task:{0};threadis:{1}", Task.CurrentId, Thread.CurrentThread.ManagedThreadId);}}

 

转载于:https://blog.51cto.com/962410314/1608592

总结

以上是生活随笔为你收集整理的Parallel类的全部内容,希望文章能够帮你解决所遇到的问题。

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