考虑到这样的情况,在低功率机器上运行:
var logFile = File.ReadAllLines("logpath");
var logList = new List<string>(logFile);
Parallel.ForEach(logList.Batch(8), fileLine =>
{
// work on the 8 lines
});
有没有一种简单的方法可以找出Parallel.ForEach进程中生成的最大并发线程数?
答案 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);
});