进程的创建模型
1.父進(jìn)程創(chuàng)建多個(gè)并列的子進(jìn)程a-->[a1,a2,a3,a4......]
如父進(jìn)程創(chuàng)建四個(gè)子進(jìn)程,用一個(gè)for循環(huán),父進(jìn)程用來創(chuàng)建子進(jìn)程,子進(jìn)程被創(chuàng)建后執(zhí)行自己的任務(wù)。
#define?????? NR??????? 4
for(i=0;i<4;i++)
{
pid=fork()//child process
if(pid==-1) error;
if(pid==0)//子進(jìn)程和父進(jìn)程的分道口,使父子進(jìn)程各自執(zhí)行不同的人物
{
子進(jìn)程執(zhí)行任務(wù),然后調(diào)用exit(0)結(jié)束。
}
for(i=0;i<NR;i++)
{??????? wait(NULL);????? }//等待回收所有子進(jìn)程
2.線性創(chuàng)建子進(jìn)程a->b->c->d->e;
for(i=0;i<NR;i++)
{
pid=fork();//creat child process
if(pid==-1) error;return;
else if(pid!=0)
{
父進(jìn)程執(zhí)行此任務(wù),執(zhí)行完畢調(diào)用break;退出循環(huán)
}
wait(NULL);//回收子進(jìn)程資源
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/edan/p/8881206.html
總結(jié)
- 上一篇: 697. Degree of an Ar
- 下一篇: ueditor百度编辑器中,多图上传后,