【发布时间】:2013-07-15 13:16:00
【问题描述】:
我的程序从用户获取范围。然后它创建 3 个进程并一个一个地执行它们 但我希望所有进程同时运行。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/wait.h>
void function();
cin>>range;
cin>>process;
int main() {
int range = 1000;
int i;
int pid;
int pid1;
for(i = 0; i < ; i++) {
pid1 = fork();
}
if(pid1==0) {
pid = getpid();
printf("The process id is: %d\n", pid);
function(range);
}
else {
wait(0);
}
return 0;
}
【问题讨论】:
-
你不能制作三个不同的线程并从中分叉吗?
-
您想要 3 个进程?还是 8 个?
-
如果你等待(NULL)你正在一个一个地启动这个过程
-
不管是 3 还是 8 都不是问题,主要问题是同时运行它们
-
所以,在开始下一个之前不要打电话给
wait!
标签: c++ c linux parallel-processing fork