标签:ipaddr text pool tar reads eof 使用 art ESS
结论:
测试如下:
System.Threading.ThreadPool.SetMinThreads(20, 20);
System.Threading.ThreadPool.SetMinThreads(50, 50);
var list = GetIPByMask(IPAddress.Parse("192.168.10.1"), IPAddress.Parse("255.255.255.0"));
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
Parallel.ForEach(list, new ParallelOptions() { MaxDegreeOfParallelism=6}, a =>
{
var status = Ping(a.ToString(), (ip, ex) => Console.WriteLine($"ping {ip},{ex.Message}"), 1000);
Console.WriteLine($"at {DateTime.Now.Second} ping {a.ToString()} {status.ToString()}");
}
);
//foreach (var a in list)
//{
// var status = Ping(a.ToString(), (ip, ex) => Console.WriteLine($"ping {ip},{ex.Message}"), 1000);
// Console.WriteLine($"at {DateTime.Now.Second} ping {a.ToString()} {status.ToString()}");
//}
Console.WriteLine($"平均每秒处理:{(int)Math.Ceiling( list.Count/stopwatch.Elapsed.TotalSeconds)}" );
Console.Read();
@@#
?
不限制并行数
并行设为2
并行设为6
?
?
?
?
Parallel.ForEach 之 MaxDegreeOfParallelism
标签:ipaddr text pool tar reads eof 使用 art ESS
原文地址:https://www.cnblogs.com/QinQouShui/p/12134232.html