C语言 如何使用fork()对父进程和子进程的数字求和



我必须添加两个由不同过程产生的结果。首先,在某个子进程中从 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"= ???)

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

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

最新更新