62,242
社区成员




using System.Collections.Generic;
namespace CSharp
{
using System;
using System.Linq;
using System.Threading;
public class Program
{
static string Output(string num)
{
Console.WriteLine("当前线程Id:{0},当前数字:{1}",Thread.CurrentThread.ManagedThreadId,num);
return num;
}
static void Main(string[] args)
{
List<string> list = new List<string>
{
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19"
};
var result = (from num in list
select Output(num)).AsParallel();
result.Max();
}
}
}
static Random rnd = new Random();
static string Output(string num)
{
Console.WriteLine("当前线程Id:{0},当前数字:{1}", Thread.CurrentThread.ManagedThreadId, num);
return num;
}
static void Main(string[] args)
{
List<string> list = new List<string>
{
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19"
};
var result = from num in list.AsParallel()
select Output(num);
result.Max();
Console.WriteLine("....................按任意键结束");
Console.ReadKey();
}
实际上故意增加一些延时来模拟不同计算速度不同,可以看得更清楚 static string Output(string num)
{
Thread.Sleep(rnd.Next(100));
Console.WriteLine("当前线程Id:{0},当前数字:{1}", Thread.CurrentThread.ManagedThreadId, num);
return num;
}
你使用 .AsParallel() 的方式,我只能说你是个“标题党”胡乱套用概念,而不是真正去了解细节。东北人说你这行代码“写的稀碎、写的烂七八糟”。