gpt4 book ai didi

c - 线程和进程之间的文件锁定

转载 作者:行者123 更新时间:2023-11-30 17:27:47 26 4
gpt4 key购买 nike

我有一个程序,它会生成多个进程或线程,每个进程或线程都会在文件上写入一行,但显然我不希望该行混淆,因此我需要对该文件的独占访问权限。

更具体地说,在第一种情况下,我有一个进程 F,它生成多个子进程(C1、C2、C3、C4...),并且我想阻止来自 F、C2、C3、C4 的访问, ...当 C1 正在写入时。

在第二种情况下,我有相同的进程 F,它生成多个线程(T1、T2、T3、T4,...),并且我想再次阻止来自 F、T2、T3、T4 的访问。 ..当T1正在写入时。

我猜测像flock()这样的函数会处理第一部分,但是线程的情况呢?那么 Windows 平台又如何呢?

最佳答案

您可以使用任何您想要的锁定机制。线程之间,互斥体是最简单的。对文件的访问受到互斥体的保护,因此没有两个线程可以尝试同时写入文件。

对于进程,您可以使用进程共享互斥体。在 Windows 上,您可以使用 named mutex .

关于c - 线程和进程之间的文件锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26266616/

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