gpt4 book ai didi

Linux原生aio仍需屏蔽

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:15 29 4
gpt4 key购买 nike

我正在研究 Linux 原生 AIO lib (libaio.h),但真的很困惑为什么它被称为“异步 I/O”。由于在 io_submit() 之后,您始终需要 io_getevents() 进行轮询,直到 I/O 返回。该进程仍然可能被阻止,对吗?那么与 select/pselect/poll 相比有什么区别/优势呢?

最佳答案

使用 AIO 是有利的,因为 I/O 直接从用户缓冲区执行,避免了复制到内核缓冲区。如果是读取,则内核“拥有”该缓冲区,并且应用程序在 I/O 完成之前不得接触该缓冲区。与写入相同,内核拥有该缓冲区,直到 I/O 完成,然后该缓冲区才可供重用。

这个想法是启动多个传输,当 I/O 传输正在进行时,您可以去做其他事情。最终你会得到一个传递给应用程序的 SIGIO,然后你可以检查哪个 I/O 已完成。

关于Linux原生aio仍需屏蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24973025/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com