C#多线程分配
2015-07-22 10:05
435 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { List<string> list = new List<string>(); list.Add("a1"); list.Add("a2"); list.Add("a3"); list.Add("a4"); list.Add("a5"); list.Add("a6"); list.Add("a7"); list.Add("a8"); list.Add("a9"); list.Add("a10"); list.Add("a11"); list.Add("a12"); int splitNum = list.Count / 10 + (list.Count % 10 == 0 ? 0 : 1);//获取每个线程应该处理多少数据 Parallel.For(0, 10, index => { for (var i = 0 + index * splitNum; i < splitNum * (index + 1); i++) { if (i >= list.Count) { break; }//判断索引范围是否已超出list的总数量 Console.WriteLine(list[i]);//这就是获取到的对象 } }); //Parallel有好几个重构方法,这里举例用的是Action的,如果需要返回数据,那你要考虑下并发问题 } } }
相关文章推荐
- C#调用Nero SDK刻录光盘的方法
- C#取得Web程序和非Web程序的根目录的N种取法
- C#检测pc光驱里是否插入了光盘的方法
- 探索C#之6.0语法糖剖析
- 探索C#之6.0语法糖剖析
- C# 模拟鼠标(mouse_event)
- Visual Studio 2015速递(1)——C#6.0新特性怎么用
- 探索C#之6.0语法糖剖析
- Import Excel file
- 【 socke】C# socket端口复用-多主机头绑定
- C#高级编程四十六天----正则表达式
- .Net学习笔记----2015-07-21(C#基础复习08,模拟移动硬盘U盘等)
- .Net学习笔记----2015-07-21(C#基础复习07,关键字、访问修饰符)
- 基于C#在WPF中使用斑马打印机进行打印【转】
- C#面向对象常见的变量区分
- C#如何获取当前项目的目录,并以当前为根进行修改
- C#窗体无法接受Keydown事件
- 读改善c#代码157个建议:建议13~15
- C# 中的委托和事件
- 快速傅里叶变换(FFT)的C#实现及详细注释