如何使用fork()与父进程和子进程求和

时间:2019-03-29 04:09:31

标签: c linux fork wait

我必须添加由不同过程得出的两个结果。首先,在特定的子进程中将1加到100。接下来,在该进程的父进程中将101添加到200。之后,我想使用fork()和wait()获得这两个结果的总和。我希望此最终过程应在父过程中完成。我想知道如何将1-100的总和扔给父进程。我应该使用特殊的Linux命令或功能吗?任何人都有一个好主意,请给我一个解决方案!希望得到积极的答复!

//child process
for(i = 1 to 100)
sum += i;
//parent process
for(i = 101 to 200)
sum += i;

//parent process??? or not
print("sum 1 to 200"= ???)

1 个答案:

答案 0 :(得分:0)

您可以使用共享内存,管道,文件,域套接字等。 或使用多线程

int *sum;
sum=(int *)mmap(NULL, sizeof(int)*count_of_process, PROT_READ|PROT_WRITE,
                MAP_SHARED|MAP_ANONYMOUS, -1, 0);