又是一道腾讯2014年的面试题:面试

A,栈 B,数据段 C,寄存器组 D,文件描述符并发
这是解释以及相对应的扩展知识:函数
线程的共性以下:线程
线程共享的环境包括:进程代码段、3d
进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通信)、blog
进程打开的文件描述符、进程
信号的处理器、变量
进程的当前目录和进程用户ID与进程组ID。扩展
线程的个性以下:腾讯
1.线程ID
每一个线程都有本身的线程ID,这个ID在本进程中是惟一的。进程用此来标识线程。
2.寄存器组的值
因为线程间是并发运行的,每一个线程有本身不一样的运行线索,当从一个线程切换到另外一个线程上时,必须将原有的线程的寄存器集合的状态保存,以便未来该线程在被从新切 换到时能得以恢复。
3.线程的堆栈
堆栈是保证线程独立运行所必须的。线程函数能够调用函数,而被调用函数中又是能够层层嵌套的,因此线程必须拥有本身的函数堆栈,使得函数调用能够正常执行,不受其 他线程的影响。
4.错误返回码
因为同一个进程中有不少个线程在同时运行,可能某个线程进行系统调用后设置了error值,而在该线程尚未处理这个错误,另一个线程就在此时被调度器投入运行,这样 错误值就有可能被修改。 因此,不一样的线程应该拥有本身的错误返回码变量。
5.线程的信号屏蔽码
因为每一个线程所感兴趣的信号不一样,因此线程的信号屏蔽码应该由线程本身管理。但全部的线程都共享一样的信号处理器。
6.线程的优先级
因为线程须要像进程那样可以被调度,那么就必需要有可供调度使用的参数,这个参数就是线程的优先级。
总之要明白,在一个进程的线程共享堆区,而进程中的线程各自维持本身堆栈。
因此这道题的正确答案是 BD