电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

同一进程中的线程究竟共享哪些资源


发布日期:2020/7/12
 

线程共享的环境包括进程代码段进程的公有数据(利用这些共享的数据线程很容易的实现相互之间的通讯)进程打开的文件描述符信号的处理器进程的当前目录和进程用户ID与进程组ID 进程拥有这许多共性的同时还拥有自己的个性有了这些个性线程才能实现并发性这些个性包括

线程ID

每个线程都有自己的线程ID这个ID在本进程中是唯一的进程用此来标 识线程 寄存器组的值

由于线程间是并发运行的每个线程有自己不同的运行线索当从一个线 程切换到另一个线程上时必须将原有的线程的寄存器集合的状态保存以便 将来该线程在被重新切换到时能得以恢复 线程的堆栈

堆栈是保证线程独立运行所必须的

线程函数可以调用函数而被调用函数中又是可以层层嵌套的所以线程 必须拥有自己的函数堆栈使得函数调用可以正常执行不受其他线程的影 响

错误返回码

由于同一个进程中有很多个线程在同时运行可能某个线程进行系统调用 后设置了errno值而在该线程还没有处理这个错误另外一个线程就在此时 被调度器投入运行这样错误值就有可能被修改

所以不同的线程应该拥有自己的错误返回码变量

线程的信号屏蔽码

由于每个线程所感兴趣的信号不同所以线程的信号屏蔽码应该由线程自 己管理但所有的线程都共享同样的信号处理器

线程的优先级

由于线程需要像进程那样能够被调度那么就必须要有可供调度使用的参 数这个参数就是线程的优先级

上一篇:JDK5.0垃圾收集优化之--Dont Pause

下一篇:用JMS客户端利用空闲的计算机资源