当前位置: 技术问答>linux和unix
关于子进程中读取某个全局变量的问题
来源: 互联网 发布时间:2017-05-07
本文导语: 在子进程中读取某个全局变量,此变量的值是不断变化的,为什么在子进程中却不变? int gCount; void readdata() { int b; if (!fork()) { while (1) { b = gCou...
在子进程中读取某个全局变量,此变量的值是不断变化的,为什么在子进程中却不变?
int gCount;
void readdata()
{
int b;
if (!fork())
{
while (1)
{
b = gCount * 5;
printf("b = %d", b);
sleep(1);
}
exit(0);
}
}
因为全局变量gCount是不断变化,但是为什么输出的b却没有变化,要怎样才能实时读取gCount的值?
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的值在父进程中怎么变都不会影响子进程,因为子进程有自己的拷贝。
|
使用进程间通信,管道、共享内存等