性能,将多个线程中的多个文件写入同一目录

时间:2018-09-28 11:57:29

标签: windows multithreading io

首先,如果在SO上的其他地方回答了这个问题,我想道歉。由于找不到适合我需要的问题,我决定问这个问题。

问题:我需要从设备(例如扫描仪)接收多个数据包并将其存储在磁盘中。我的方法是将数据包排队,并让一个线程等待,直到队列中有足够的项目,然后启动一个线程,该线程将消耗一批数据包并将它们存储在磁盘中,存储它们的目录不变因此,多个线程可以同时写入同一目录。

我的一个同事提到这是一个坏主意,因为将多个线程写入同一磁盘实际上会使它变慢。谷歌搜索后,我发现没有明确答案是否成立,有人说这对现代计算机来说不是问题,而其他人则说,如果不同的线程正在向单独的磁盘写入,这将不是问题。就像在RAID设置中一样。

问题:是一个坏主意,它有多个线程(正在写入一批数据包文件)写入同一磁盘吗?还是这样做有实际好处?

PS::我想补充一下,此解决方案将用于Windows操作系统。

谢谢!

0 个答案:

没有答案