考虑我调用aio_write()
来异步写入大部分文件。然后程序继续执行并调用write()
。
未设置标记NON_BLOCK
。
write()会等到aio_write()完成吗?混合write()
和aio_write()
?
答案 0 :(得分:1)
否write()
不会等待aio_write()
完成。但是,实际上 - 根据文件系统,计算机上的负载,IO的大小 - 您可能会看到write()
在aio_write()
之后完成。但是不能保证首先发出的写作会先完成。
如果它们不写入相同的块,则混合aio_write()
和write()
就可以了。如果它们重叠,您将必须处理IO首先完成的所有情况,更复杂。