fork()函数

计算机程序设计中的分叉函数
返回值: 若成功调用一次则返回两个值,子进程返回0, 父进程返回子进程标记;否则,出错返回-1。
fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。
这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本(是副本人所以内存不共享)
打印出来三个A,,创建了三个进程,,如
int main(int argc,char*crgv[],char*envp[])

{
    for(int i=0;i<2;i++)

    {

           fork();
           printf("A\n");     
    }
   exit(0);
}

这个会打印出6个A,      
以上代码可以拆分成如下代码
int main()
{
    int i=0;
    fork();
    printf("A\n");

   int i=1;
  fork();
  printf("A\n");
 
 exit(0);
}
这样就很好分析了!!!





这个代码是把上面的
fork();和printf()两个函数换了位置,,,结果输出三个A;


                                                                                                                                                                                                                                                                                                                                         

    


猜你喜欢

转载自blog.csdn.net/foooooods/article/details/80352502
今日推荐