一.单选题
1. 在支持多线程的系统中,进程P创建的若干线程不能共享的是( )
A. 进程P的代码段
B. 进程P中打开的文件
C. 进程P的全局变量
D. 进程P中某线程的栈指针
二.多选题
2. 在同一进程的多线程之间,下列哪些程序状态部分会被共享( )
A. 寄存器
B. 堆
C. 全局变量
D. 堆栈
- 正确答案:BC
- 堆内存是进程中的一块共享区域
- 堆栈(通常指线程栈)是每个线程私有的内存区域
三.简答题
1.考虑下面的代码段:回答 1.创建了多少个单独进程? 2.创建了多少个单独线程?
2.如图所示的程序采用Pthreads API。该程序的LINE C和LINE P的输出分别是什么?
- 正确答案:
- LINE C:5
LINE P:0 - fork创建一个原进程的内存副本,只是内容一样。一旦,对应功能区信息改变改变(如数据段、代码段),则各自有私有的物理内存,不会共享