查看更多
当前 - 选择题 - 进程管理
简单
单选题
2021年5月第34题
#第二版教材
#必须掌握

在支持多线程的操作系统中,假设进程 P1 创建了线程 T1 和 T2,进程 P2 创建了线程 T3 和 T4,那么以下说法错误的是(__)。

问题(1)
浓缩知识点

在支持多线程的操作系统中,线程作为进程的轻量级执行单元,资源共享与隔离存在明确边界:同一进程内的所有线程共享该进程的全局资源,包括代码段、数据段、堆内存,以及进程层面打开的文件、网络连接、全局变量等,这类共享资源是线程间协作的基础;而每个线程拥有专属私有资源,比如独立的栈空间(栈指针、局部变量、函数调用栈帧均存放于此)、程序计数器、处理器寄存器上下文,还有线程私有存储区,这些私有资源保障了线程执行的独立性,同进程内其他线程无法直接访问。此外,不同进程创建的线程分属相互隔离的进程地址空间,默认无法共享任何资源,若需实现交互,必须依赖管道、共享内存、消息队列等进程间通信机制。

正确答案
D

本题考察的是线程共享的基本资源
线程是进程内的执行单元,多个线程共享同一个进程的资源,但每个线程也有自己独立的部分。
A选项线程 T1 和 T2 可以共享 P1 的数据段:同一进程的多个线程共享代码段、数据段和堆,因此该选项正确。
B选项线程 T3 和 T4 可以共享 P2 的数据段:与 A 类似,T3 和 T4 属于同一进程 P2,数据段对它们是共享的,因此该选项正确。
C选项线程 T1 和 T2 可以共享 P1 中任何一个线程打开的文件:文件描述符是进程级资源,进程内所有线程共享打开的文件,因此该选项正确。
D选项线程 T3 可以共享线程 T4 的栈指针:每个线程都有自己独立的栈空间(栈段),用于存放函数调用信息、局部变量等。线程的栈是私有的,不能被其他线程直接共享,因此该选项错误。
因此,选项 D 正确。

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