gpt4 book ai didi

c - glibc 什么时候发生文件流锁定?

转载 作者:行者123 更新时间:2023-12-04 06:36:09 25 4
gpt4 key购买 nike

阅读 glibc 文档,我最近了解到对 getc 的调用可能需要等待获取锁才能读取文件。我想验证在使用缓冲时,只有在需要读取实际文件以补充缓冲区时才获取锁。

谢谢!

最佳答案

getc 调用的锁提供 stdio FILE 对象的应用程序级锁定,以允许同一应用程序中的多个线程对同一 FILE 对象进行线程安全访问。因此,每次读取字符时都需要获取它,而不仅仅是在补充缓冲区时。

但是,如果您不是从多个线程访问 FILE,您将永远不必等待锁定。如果获取/释放锁的开销太大(衡量这一点;不要只是假设),您还可以选择使用 flockfile 手动锁定/解锁。和 funlockfile ,然后使用 getc_unlocked .

关于c - glibc 什么时候发生文件流锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4858889/

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