每个线程如何拥有CPU寄存器

Pra*_*ari 4 windows process

在我读过的几个地方,

每个线程都有自己的一组CPU寄存器和自己的堆栈

在这里,我可以理解堆栈,它是一个数据结构.但是线程如何拥有自己的CPU寄存器.它们已修复数量,并且系统中正在运行无限数量的线程.

问候

And*_*ock 8

是的,有固定数量的寄存器.

当操作系统从1个线程切换到另一个线程时,它会将完成线程的状态(包括所有寄存器的当前值)复制到其描述符中,然后将另一个线程的描述符中的值复制到寄存器中.

这些描述符存储在RAM中,尽管这部分是Hyper Threading/Hyper Transport要修复的内容,允许一次将2个线程存储在单个CPU内核中,但这是一个完全不同的讨论.