关于子进程中读取某个全局变量的问题
在子进程中读取某个全局变量,此变量的值是不断变化的,为什么在子进程中却不变?
int gCount;
void readdata()
{
int b;
if (!fork())
{
while (1)
{
b = gCount * 5;
printf("b = %d", b);
sleep(1);
}
exit(0);
}
}
因为全局变量gCount是不断变化,但是为什么输出的b却没有变化,要怎样才能实时读取gCount的值?
------解决方案--------------------gCount的值在父进程中怎么变都不会影响子进程,因为子进程有自己的拷贝。
------解决方案-------------------- 使用进程间通信,管道、共享内存等