gpt4 book ai didi

c - 多子进程

转载 作者:太空狗 更新时间:2023-10-29 16:36:42 26 4
gpt4 key购买 nike

有人可以帮助我了解如何创建多个具有相同父进程的子进程来完成特定工作的“某些”部分吗?

例如,应用于子进程的外部排序算法;每个子进程对一部分数据进行排序,最后父进程合并它们..

编辑:也许我应该提到用循环 fork 多个子进程..

最佳答案

下面是如何 fork 10 个 child 并等待他们完成:

pid_t pids[10];
int i;
int n = 10;

/* Start children. */
for (i = 0; i < n; ++i) {
if ((pids[i] = fork()) < 0) {
perror("fork");
abort();
} else if (pids[i] == 0) {
DoWorkInChild();
exit(0);
}
}

/* Wait for children to exit. */
int status;
pid_t pid;
while (n > 0) {
pid = wait(&status);
printf("Child with PID %ld exited with status 0x%x.\n", (long)pid, status);
--n; // TODO(pts): Remove pid from the pids array.
}

关于c - 多子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/876605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com