当我使用Parallel.For
循环将 10 个 1 MB 大小的文件同时附加到 Azure Data Lake Service 时,我只看到 Azure Data Lake 文件中最后两个文件的内容,尽管我看到正确的数据打印到控制台。
当我使用简单的 for 循环而不是 thisParallel.For
时,附加到文件的数据是正确的。
有什么帮助吗?
Parallel.For(0, 10, i =>
{
path[i] = @"C:\Users\t-chkum\Desktop\InputFiles\1MB\" + (i + 1) + ".txt";
FileStream stream = File.OpenRead(path[i]);
stream.Read(buffer, 0, buffer.Length);
Console.WriteLine(Encoding.UTF8.GetString(buffer));
client.ConcurrentAppend(fileName, true, buffer, 0, buffer.Length);
stream.Close();
});