62,046
社区成员
发帖
与我相关
我的任务
分享
List<string> list = new List<string>();
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的,如果需要返回数据,那你要考虑下并发问题