目前,我能够使用响应式(Reactive) C# 使用以下代码一次一行地逐行读取文件夹中的文件。
现在我想在不同线程上同时读取所有文件以加快处理速度。如何使用响应式扩展 C# 实现此目的。
static void Main(string[] args)
{
foreach (string file in Directory.EnumerateFiles(@"C:\Test\", "*.txt"))
{
File.ReadLines(file)
.ToObservable()
.Subscribe(Console.WriteLine);
}
Console.ReadLine();
}
最佳答案
你可以使用Parallel.ForEach
;
var fileList = Directory.EnumerateFiles(@"C:\Test\", "*.txt").ToList();
Parallel.ForEach(fileList, file =>
{
File.ReadLines(file)
.ToObservable()
.Subscribe(Console.WriteLine);
});
关于c# - 接收网 : how to read all files simultaneously and on different threads,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48422980/