必威体育Betway必威体育官网
当前位置:首页 > IT技术

fork函数_实例(1)

时间:2019-07-20 23:12:07来源:IT技术作者:seo实验室小编阅读:66次「手机版」
 

fork函数

一、情形1

#include<unistd.h>    //fork()
#include<stdio.h>    //printf()

int main()
{
    if(fork() && fork())
    {
        printf("A\n");
    }
    else
    {
        printf("B\n");
    }
    return 0;
}

分析示意图1

运行结果1

结果输出为1A2B,当然顺序不能保证。 因为进程的并发性。


二、情形2 

#include<unistd.h>    //fork()
#include<stdio.h>     //printf()

int main()
{
    int i = 0;
    for(; i < 2; ++i)
    {
        if(fork() == 0)
            printf("A\n");
        else
            printf("B\n");
    }
    return 0;
}

分析示意图2

结果输出为3A3B,同样的,顺序不能保证,因为进程间的并发性。

运行结果2


三、情形2.1(对比情形2)

#include<unistd.h>    //fork()
#include<stdio.h>     //printf()

int main()
{
    int i = 0;
    for(; i < 2; ++i)
    {
        if(fork() == 0)
            printf("A  ");
        else
            printf("B  ");
    }
    return 0;
}

分析示意图2.1

结果输出4A4B,顺序是未知的,因为进程间的并发性。此外,还要考虑缓冲区的问题!!!

运行结果2.1

缓冲区内容刷新到界面上的条件:

  • 遇到 \n;

  • fflush函数

  • 缓冲区已满;

  • 进程结束(不包括以_exit()结束的进程,该方式不刷新缓冲区);

相关阅读

.htaccess实现301重定向的实例方法

一:通过.htaccess做重定向 重定向www.lituanmin.com到 lituanmin.com也是出于同样的原因,只是形式不同。打开.htaccess文件,加入以

IDA实例教程

作者:笨笨雄 邮箱:[email protected] 1 软件环境   静态分析有很多好处,例如加壳的程序(尽管对于高手来说这并不会耗费太多时间),我

实例解析:13种高超的营销增长策略

编者按:作为一家市值25亿美元、年收入超2亿美元、年增长60% 的SaaS公司,HubSpot一直在不断打破传统的营销瓶颈,重新定义创新型的营销

6 个实例告诉你:可用性测试究竟是什么?

可用性测试是什么?本文作者通过用六个实例来分析,如果你还不清楚可用性测试是什么,那就来文章中看看~可用性测试其实没有那么难,反倒

实例分享:某APP产品需求文档

修订记录1.概述1.1 项目背景据2015年统计,国内的教育培训机构约 140 万家。其中,年营收在 350 万元以下的小微型教育机构有 120 万

分享到:

栏目导航

推荐阅读

热门阅读