题目
25.在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是()。A. 进程 P 的代码段B. 进程 P 中打开的文件C. 进程 P 的全局变量D. 进程 P 中某线程的栈指针
25.在支持多线程的系统中,进程 P 创建的若干个线程不能共享的是()。
A. 进程 P 的代码段
B. 进程 P 中打开的文件
C. 进程 P 的全局变量
D. 进程 P 中某线程的栈指针
题目解答
答案
D. 进程 P 中某线程的栈指针
解析
本题考查多线程环境下资源共享机制。关键点在于区分进程级资源与线程级资源:
- 进程级资源(如代码段、全局变量、打开的文件)由进程内的所有线程共享;
- 线程级资源(如每个线程的栈、栈指针)是线程私有的,不可共享。
破题关键:明确栈指针属于线程的独立属性,每个线程的栈是隔离的。
选项分析
A. 进程 P 的代码段
代码段是进程的共享资源,所有线程执行相同的代码,因此可以共享。
B. 进程 P 中打开的文件
文件描述符属于进程级资源,所有线程可以访问同一文件,因此可以共享。
C. 进程 P 的全局变量
全局变量存储在进程的内存空间中,所有线程可读写,因此可以共享。
D. 进程 P 中某线程的栈指针
栈是线程的私有资源,每个线程有独立的栈空间,栈指针指向当前线程的栈顶。其他线程无法访问该栈指针,因此不能共享。