您的位置:首页 > 其它

fork()函数

2017-03-22 23:24 148 查看
以自己遇到的一道题为例:

编写一个启动五个进程的并发程序,让每个进程中的线程打印几行输出,然后停止

刚开始觉得写3个fork()产生8个进程,然后kill 3个进程就好,后来才发现很难实现



后来想了好久才想出下面的简单方法:

#include<stdlib.h>

#include<stdio.h>

intmain() {

       int pid,pid1,pid2;

       pid = fork();

       pid1 = fork();

       if(pid == 0 && pid1 == 0)

           fork();

       printf("process!\n");

       return 0;

}

就是先fork两次,产生四个进程,又发现在四个进程中,只有一个进程同时满足if条件,就在这个if中再fork一次,这样就再生成一个子进程,一共5个进程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: