返回
当前 - 选择题 - 进程管理
简单
题号:0120180500030
单选题
2018年5月第30题

在支持多线程的操作系统中,假设进程 P 创建了若干个线程,那么(该进程中线程的栈指针)是不能被其他线程共享的。

问题(1)
浓缩知识点

在支持多线程的操作系统中,进程是资源分配的基本单位,线程是调度执行的基本单位。同一进程下的所有线程共享进程级资源,包括代码段、全局变量、堆内存、打开的文件描述符、信号量、套接字等,这些资源由进程统一管理,供所有线程共同使用。而每个线程拥有专属的私有资源,涵盖程序计数器、寄存器组、独立的线程栈及栈指针、线程局部存储(TLS)等,这类资源是线程独立执行的必要保障,仅归对应线程独有,不会被其他线程直接共享,以此确保每个线程的执行流程和局部数据相互独立、互不干扰。

正确答案
D

本题考察的是多线程共享资源与私有资源的划分
该进程的代码段:代码段属于进程资源,所有线程运行时都共享一份,因此可以共享;该进程中打开的文件:文件描述符属于进程资源,不同线程可以通过共享文件句柄访问文件,因此可以共享;该进程的全局变量:全局变量存储在进程的全局区和堆区,所有线程均可访问,因此可以共享;该进程中线程的栈指针:每个线程都有自己的独立栈,栈用于存放函数调用信息、局部变量、返回地址等,栈指针指向线程私有的栈空间,不能被其他线程共享。
本小问答案是 该进程中线程的栈指针。每个线程都有自己的独立栈,栈用于存放函数调用信息、局部变量、返回地址等,栈指针指向线程私有的栈空间,不能被其他线程共享。
因此,选项 D 正确。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有