我有下面的方法,用于通过 for each 文件创建不同的任务来初始化和启动日志(log)文件处理.在任务管理器中,我可以看到这个函数以这种方式创建了大约100个线程.
public async Task LogProcessing(DescriptorList files, CancellationToken ct)
{
var tasks = new List<Task>();
foreach (var file in files)
tasks.Add(new Task(() =>
{
ParsingFile(file, ct);
}));
foreach (var task in tasks) { task.Start(); }
await Task.WhenAll(tasks);
}
How can I prevent creating more threads than the available number of hardware threads?个 谢谢.