当且仅当正在写入的物理盘区已经在盘上分配时,Linux才能使写入实际上是异步的。否则它必须先使用互斥量并进行分配,因此一切都变得同步。
请注意,将文件截断为新长度通常不会实际分配底层扩展区。您需要先预先写好内容。此后, 重写 现在,相同的范围将完成异步,从而变为并发。
正如您可能正在收集的那样,Linux上的异步文件i / o并不是很好,尽管随着时间的推移它会不断变好。 Windows或FreeBSD具有更优越的实现。即使OS X也不可怕。请改用其中任何一种。