标签: c linux
我有一个全局布尔变量,父进程和子进程都可以写入。子进程只是分叉(没有调用exec())。
在C / Linux中,如何同步访问此全局?在C / C ++线程世界中,我本可以使用互斥锁。
答案 0 :(得分:2)
在调用fork之后,每个进程都有自己的任何正在使用的变量的副本。父项中的全局变量和子项中的全局变量完全不同,因此它们不能用作公共变量。
fork
如果您希望这两个进程共享数据,则需要使用pipe函数创建管道以在两者之间传递数据,或者您需要创建一个共享内存段,两个进程都将有权访问。
pipe