1.思路
创建三个进程,给定一段区间,把任务轮流分配给三个进程,任务0给进程0,任务1给进程1,任务2给进程2,任务3给进程0…
2.进程的交叉分配法 实现 查找质数
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define LEFT 30000000
#define RIGHT 30000200
#define N 3
int main()
{
pid_t pid;
int i,j,Flag;
int n;
for(n = 0; n < N; n++)
{
pid = fork();
if(pid < 0)
{
perror("fork()");
exit(1);
}
if(0 == pid)
{
for(i = LEFT+n ; i <= RIGHT; i += N)
{
Flag = 1;
for(j = 2; j <= i/2; j++)
{
if(0 == i % j)
{
Flag = 0;
}
}
if(Flag)
{
printf("[%d] %d is a prime\n", n,i);
}
}
exit(0);
}
}
for(n = 0; n < N; n++)
{
wait(NULL);
}
return 0;
}