当前位置:首页 > 四级网络工程师 > [15] > 正文内容

[15][9][单选]对于如下 C 语言程序

[15]2年前 (2025-02-02)

int main( {    int i;    for (i = 0; i < 2; i++    {        fork(;        printf("Hello World\n";    } } 在 UNIX 操作系统中正确编译链接后,其运行结果为

共打印出 2 行 Hello World

共打印出 4 行 Hello World

共打印出 6 行 Hello World

共打印出 8 行 Hello World


答案

共打印出 6 行 Hello World


解析

在 UNIX 系统中,父进程调用 fork(函数创建子进程,fork(函数调用一次返回两次。第一次循环,父进程调用 fork(后,父子进程都执行 printf,输出 2 行;第二次循环,父进程和第一次循环创建的子进程再次调用 fork(,此时共有 4 个进程执行 printf,输出 4 行,总共输出 6 行。

【涉及考点】

第3章 进程线程模型


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=6383

相关文章

[15][4][单选]系统调用与一般过程调用是不同的,下列对被调用程序嵌套使用的描述中,哪一个是正确的

过程调用和系统调用均不可以嵌套使用过程调用和系统调用均可以嵌套使用过程调用可以嵌套使用,系统调用不可...

[15][6][单选]进程控制块 PCB 是描述进程基本情况以及进程的运行变化过程的数据结构,下列哪一项不是进程控制块 PCB 中记录的信息?

中断源“家族”关系消息队列指针打开文件句柄答案中断源解析进程控制块PCB内容一般分为调度信息和现场信...

[15][9][单选]对于如下 C 语言程序

void *th_f(void *arg {    printf(&quo...

[15][11][单选]两个相互直接感知双方直接交互,例如相互发送消息的进程,其潜在的控制问题是

两个进程相互竞争,可能造成互斥、死锁或饥饿两个进程共享协作,但可能造成互斥、死锁或饥饿两个进程通过同...

[15][12][单选]为正确使用临界资源,可把对临界资源的访问分成进入区、临界区、退出区和剩余区四部分。下列飞机订票代码中 lock = FALSE 语句属于哪一个区域

临界资源访问过程中的进入区临界资源访问过程中的临界区临界资源访问过程中的退出区临界资源访问过程中的剩...