如何使用 fork() 将数字与父进程和子进程相加 [重复]
Posted
技术标签:
【中文标题】如何使用 fork() 将数字与父进程和子进程相加 [重复]【英文标题】:How to sum numbers with parent and child process using fork() [duplicate] 【发布时间】:2019-03-29 04:09:30 【问题描述】:我必须添加两个不同进程产生的结果。首先,在某个子进程中从 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】:您可以使用共享内存、管道、文件、域套接字等。 或者使用多线程
int *sum;
sum=(int *)mmap(NULL, sizeof(int)*count_of_process, PROT_READ|PROT_WRITE,
MAP_SHARED|MAP_ANONYMOUS, -1, 0);
【讨论】:
以上是关于如何使用 fork() 将数字与父进程和子进程相加 [重复]的主要内容,如果未能解决你的问题,请参考以下文章