gpt4 book ai didi

c - 防止线程写入同一个文件

转载 作者:太空狗 更新时间:2023-10-29 11:48:00 26 4
gpt4 key购买 nike

我在 Linux 内核 2.4(家庭作业)中实现了一个类似 FTP 的协议(protocol),我的印象是,如果一个文件打开用于写入,任何随后由另一个线程打开它的尝试都应该失败,直到我真正尝试过它并发现它通过了。

如何防止这种情况发生?

PS:我正在使用 open() 打开文件。

PS2:我需要能够访问现有文件。我只是想防止它们被同时写入。

最佳答案

您可以保留一个打开文件列表,然后在打开文件之前检查它是否已被另一个线程打开。这种方法的一些问题是:

  • 您将需要使用诸如 Mutex 之类的同步原语来确保列表是线程安全的。

  • 您的程序处理完文件后,需要将其从列表中删除。

关于c - 防止线程写入同一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040637/

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