在我读过的几个地方,
每个线程都有自己的一组CPU寄存器和自己的堆栈
在这里,我可以理解堆栈,它是一个数据结构.但是线程如何拥有自己的CPU寄存器.它们已修复数量,并且系统中正在运行无限数量的线程.
问候
是的,有固定数量的寄存器.
当操作系统从1个线程切换到另一个线程时,它会将完成线程的状态(包括所有寄存器的当前值)复制到其描述符中,然后将另一个线程的描述符中的值复制到寄存器中.
这些描述符存储在RAM中,尽管这部分是Hyper Threading/Hyper Transport要修复的内容,允许一次将2个线程存储在单个CPU内核中,但这是一个完全不同的讨论.