c ++ fork()和地址空间

时间:2014-04-22 19:29:27

标签: c++ fork gnu

在这里填写GNU fork() noob。我需要分叉N个进程,这些进程将执行完全相同的操作:分配2个数组,初始化它们并处理数据。我尝试了可以​​简单压缩的代码:

int main()
{
    int a = 0;
    double b = 0;

    double *a1, *a2;

    fork();

    a1 = new double[10];
    a2 = new double[10];

    // initialize and process data in a1 and a2 using an algorithm involving a and b.
}

我的fork()是否适合为每个流程创建a1a2的副本以及ab的副本?或者ab的声明和/或初始化是否应在fork()来电之后失效?每个流程都应该有自己的a, b, a1 and a2

1 个答案:

答案 0 :(得分:0)

进程的地址空间始终不同,即使它们处于父子关系中。