在支持多线程的操作系统中,假设进程P创建了若干个线程,那么( )是不能被其他线程共享的。
1个回答
展开全部
【答案】:D
同一进程间的线程共享的资源包括:
1、堆:由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的。
2、全局变量:它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的。
3、静态变量:虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的。
4、文件等公用资源:使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。
独享的资源有:
1、栈:每个线程中的栈都是由线程自身独享的。
2、寄存器:每个线程执行指令时,都要用到寄存器,线程间的寄存器并不共享。
同一进程间的线程共享的资源包括:
1、堆:由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的。
2、全局变量:它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的。
3、静态变量:虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的。
4、文件等公用资源:使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体。
独享的资源有:
1、栈:每个线程中的栈都是由线程自身独享的。
2、寄存器:每个线程执行指令时,都要用到寄存器,线程间的寄存器并不共享。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询