【发布时间】:2013-03-06 20:30:25
【问题描述】:
我可以从多个线程(在典型的 PC 上)同时写入同一文件的不同部分吗?我的意思是只有一个磁头,所以写入只能以某种顺序执行,即不能并行,对吧?
编辑:
我正在编写一个对大型二进制文件进行排序的程序,但大部分时间仍然花在磁盘 I/O 上,所以我只是想知道通过并行 I/O 是否会获得额外的速度。
【问题讨论】:
-
是的,这应该是可能的,这就是 utorrent 软件的工作原理..!!
-
您说的是物理并行性?如果您谈论物理并行性 - 想想它如何与单核处理器一起工作。
-
它不会解决你的 IO 问题。如果您最终需要从不同线程写入同一个文件以解决 CPU 绑定限制,它会起作用,但不会提高您的 IO 速度。如果有的话,它会稍微减少。