zoukankan      html  css  js  c++  java
  • 一个考察fork的题目

    下面这个程序,让你计算一下产生多少个子进程。
    int main()
    {
        fork();
        fork()&&fork()||fork();
        fork();
    }

    解答:
    fork的基本性质大家都知道,返回0是子进程,返回1是父进程。这个题目容易让人晕菜,所以要掌握方法。
    下面用图示的方法看看它的执行过程。
                                                                            
                2(第一个fork后)   -----   +2(执行第二个fork之后)  -(返回值为0)--   +2 (短路&&,执行第四个fork)
                                                                          |      
                                                                   (返回值为1)
                                                                          |                                                           
                                                                +2(执行第三个fork) -(返回值为0)-- +2(执行第四个fork)
      到最后一个fork执行之前,已经有了2+2+2+2+2=10个进程,最后再fork一次,一共是20个。
      除去最开始的进程,一共产生了20-1=19个进程。

  • 相关阅读:
    Gson中@SerializedName 注解使用
    centos8 安装mongodb4.4
    ssh 连接manjaro失败
    git保存仓库的账号密码
    centos 安装etcd
    kubeadm部署k8s 拉取基础镜像
    centos 安装cloc 代码统计工具
    centos7 安装mongodb
    shell获取时间戳
    最详细的阿里云ECS服务器CentOS7上安装tomcat8服务(三)
  • 原文地址:https://www.cnblogs.com/marsbible/p/3340861.html
Copyright © 2011-2022 走看看