如何查看Parallel.ForEach循环中引发的线程数?

时间:2017-08-10 09:59:07

标签: c# multithreading parallel-processing

考虑到这样的情况,在低功率机器上运行:

var logFile = File.ReadAllLines("logpath");
var logList = new List<string>(logFile);

Parallel.ForEach(logList.Batch(8), fileLine =>
{
    // work on the 8 lines
});

有没有一种简单的方法可以找出Parallel.ForEach进程中生成的最大并发线程数?

1 个答案:

答案 0 :(得分:4)

使用Console.WriteLine或Logging跟踪循环中的每个线程。

Parallel.ForEach(logList.Batch(8), fileLine =>
{

    // work on the 8 lines
    Console.WriteLine("Processing {0} on thread {1}", filename, Thread.CurrentThread.ManagedThreadId);

});