在这里填写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()
是否适合为每个流程创建a1
和a2
的副本以及a
和b
的副本?或者a
和b
的声明和/或初始化是否应在fork()
来电之后失效?每个流程都应该有自己的a, b, a1 and a2
。
答案 0 :(得分:0)
进程的地址空间始终不同,即使它们处于父子关系中。