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

题库2022-08-02  62

问题 在支持多线程的操作系统中,假设进程P创建了若干个线程,那么(  )是不能被其他线程共享的。A.该进程的代码段B.该进程中打开的文件C.该进程的全局变量D.该进程中线程的栈指针

选项 A.该进程的代码段
B.该进程中打开的文件
C.该进程的全局变量
D.该进程中线程的栈指针

答案 D

解析 同一进程间的线程共享的资源包括:
1、堆:由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的。
2、全局变量:它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的。
3、静态变量:虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的。
4、文件等公用资源:使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。
独享的资源有:
1、栈:每个线程中的栈都是由线程自身独享的。
2、寄存器:每个线程执行指令时,都要用到寄存器,线程间的寄存器并不共享。
转载请注明原文地址:https://tihaiku.com/congyezige/2401209.html

最新回复(0)