我目前正在做一个需要我同时运行两个进程(P1 和 P2)的项目。P1 和 P2 都有多个线程在运行。所有这些线程都应该能够写入一个受互斥锁保护的日志文件。
到目前为止我所拥有的: FILE* 是 P1 中的一个全局变量,我使用互斥锁来保护它免受多个线程试图写入它的影响。这似乎工作正常。
现在我想知道如何让 P2 中的线程写入同一个日志文件,同时保护它免受同时写入尝试(来自 P1 和 P2)。我可能真的错了,但我认为如果我只是在声明日志文件指针和互斥锁后分叉,P1 中的互斥锁只会保护 P1 中线程的多次写入尝试,而 P2 中的互斥锁只会保护来自 P2 中的线程的多次写入尝试。有没有简单的方法来解决这个问题?如果有人可以帮助我解决这个问题,我会非常高兴,我一直在尝试很多很多事情,但都没有成功。
编辑:我不知道 SHARED INTER-PROCESS MUTEX。当我有工作时,我会放上我的代码。
乔