gpt4 book ai didi

UNIX 缓冲与非缓冲 I/O

转载 作者:行者123 更新时间:2023-12-04 00:47:03 26 4
gpt4 key购买 nike

无缓冲 I/O 和标准 I/O 有什么区别?我知道使用 read()、write()、close() 是无缓冲的 IO。 printf 和 gets 是缓冲 IO。我也知道大事务最好使用缓冲 IO。我只是不知道为什么。在这种情况下,术语“缓冲”是什么意思?

最佳答案

无缓冲 I/O 只是意味着在读取或写入时不使用任何缓冲区。通常当我们使用像 read() 和 write() 这样的系统调用时,它们会逐个字符地读取和写入,这会导致性能大幅下降。因此,对于大数据,通常首选高级读/写或简单的缓冲 I/O。缓冲只是意味着我们不是在处理单个字符,而是处理一个字符 block ,这就是为什么有时它也被称为 block I/O。通常在 Unix 中,当我们使用高级读/写函数时,它们获取/存储给定 block 大小的数据并将它们放入缓冲区缓存中,这些 I/O 函数从该缓冲区缓存中获取所需的数据量。

关于UNIX 缓冲与非缓冲 I/O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8409050/

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