注册 登录
编程论坛 Linux教室

求解!为什么多次连续执行会出现不一样的结果?为什么呀?

qingchundeji 发布于 2012-04-23 22:15, 550 次点击
#include<stdio.h>
main()
{
   int p1,p2,i;
   while ((p1=fork())==-1);
   if(p1==0)
           for(i=0;i<3;i++)
                 printf("daughter %d\n",i);
   else
       {
          while((p2=fork())==-1);
          if(p2==0)
               for(i=0;i<5;i++)
                     printf("son %d\n",i);
          else
               for(i=0;i<4;i++)
                     printf("parent %d\n",i);
        }
}
2 回复
#2
草狼2012-04-23 22:27
父子进程执行的顺序是不确定的,所以每次执行都会出不同的结果
#3
qingchundeji2012-04-23 23:00
回复 2楼 草狼
哦哦!明白。进程是独立的,所以调动谁都是可能的。

1