并行磁盘写入c#

本文关键字:磁盘 并行 | 更新日期: 2023-09-27 17:51:18

我完全意识到这不会增加多少好处,磁盘将成为瓶颈(尽管我的磁盘可以在32K块中实现20k IOPS),所以请在决定投票之前考虑一下这一点。

============

我需要将同一个文件写入磁盘1亿次。我有2个cpu(每个16个线程,总共32个)。

我想使用所有线程,并以异步方式完成此操作。代码非常简单。像这样:

for (int i = 1; i < 100000000; i++)
        {
            File.Copy(@"c:'sourcefile.txt", @"c:'distinationFile" + i + ".txt", true);
        }

用c#做这件事的最好方法是什么?

并行磁盘写入c#

不确定"best",但你可以使用TPL

ParallelLoopResult result = Parallel.For(0, 100000000, i => { 
   File.Copy(@"c:'sourcefile.txt", @"c:'destinationFile" + i + ".txt", true);
});