加速控制台应用程序

时间:2014-04-06 09:57:09

标签: c# multithreading console-application

我开发了一个控制台应用程序,它将ipaddress作为输入,并提供日志文件中设备的正常运行时间。共有27000个ipaddress。提供输出需要将近2天。

请帮助我如何使用多重计划加速我的应用程序。

1 个答案:

答案 0 :(得分:0)

public static class Program
{
    internal static string Result(string ip)
    {
       // your function here
    }

    internal static void Main()
    {
        const int ParallelJobs = 100;

        var ips = File.ReadAllLines("your.data");

        var results = ips.AsParallel().WithDegreeOfParallelism(ParallelJobs ).Select(Result).ToList();

        File.WriteAllLines("your.results", results);
    }
}

基本上就是这样。现在它并行运行。你的工作似乎是I / O绑定了很多空闲等待时间,所以我会设置并行度非常高。 “等待”可以大批量完成:)