当前位置:首页 > 学习 > 四级网络工程师 > 正文内容

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

四级网络工程师3个月前 (02-02)
int main(
{
    printf("Hello World\n";
    fork();
    printf("Hello World\n");
    fork();
    printf("Hello World\n";
}

在 UNIX 操作系统中正确编译链接后,其正确的运行结果是

共打印出 6 行 Hello World

共打印出 7 行 Hello World

共打印出 8 行 Hello World

共打印出 9 行 Hello World


答案

共打印出7行Hello World


解析

`fork()`函数执行的特点是,只被调用一次,却会返回两次,一次是在调用进程(父进程)中,一次是在新创建的子进程中。如果标记第1个`fork()`函数为f1,第2个`fork()`函数为f2。则父进程调用f1产生的子进程代码与父进程一样,但起始执行指令是从f1开始执行的,所以共打印行数为1+f1+1+f2 +1行。调用f1执行后打印行数为1+f2+1行,调用f2执行后打印行数为1行,所以共打印行数为7行。 【涉及考点】 第3章 进程线程模型


转载请注明出处。

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

相关文章

[1][2][单选]在下面列出的计算机操作中,只能在操作系统内核下运行的是

关机读文件设置时间屏蔽中断答案屏蔽中断解析特权指令包括输入输出指令、停机指令等,只有在监控程序才能执...

[1][7][单选]某个进程由多个线程组成,其中一个线程被调度程序选中投入运行,其他的线程有的位于就绪队列,有的被阻塞,则此时该进程的状态是

运行状态就绪状态挂起状态阻塞状态答案运行状态解析线程调度的主要功能是根据一定的调度算法,从就绪队列中...

[1][9][单选]在 Pthread 线程包中,线程操作 pthread_join 的含意是

创建一个新的线程撤销一个线程等待一个特定的线程退出参加一个新的线程答案等待一个特定的线程退出解析线程...

[1][14][单选]下列存储管理方案中,允许动态扩充内存容量的方案是

固定分区可变分区页式虚拟页式答案虚拟页式解析用户在编程时,不应该受内存容量限制,所以要采用一定的技术...

[1][19][单选]在一个采用虚拟页式存储管理方案的系统中

页面大小为 50 个整型变量,假设某一个进程分配有 3 个页面,其中程序占用 2 个页面并常驻内存。...

[1][27][单选]当一个低速的 I/O 设备连接到高速的计算机系统中时,下列哪种技术可以提高低速设备的使用效率

SPOOLing 技术I/O 重定向技术设备共享技术设备缓冲技术答案设备缓冲技术解析缓冲技术是计算机...