这个问题和我在下面的回答主要是针对另一个问题中的一个混乱区域。
在答案的最后,有一些问题WRT“易变”和线程同步,我并不完全有信心 - 我欢迎评论和替代答案。然而,问题的关键主要与CPU寄存器及其使用方式有关。
答案 0 :(得分:14)
答案 1 :(得分:12)
CPU寄存器是CPU芯片上的小数据存储区域。对于大多数体系结构而言,它们是所有操作发生的主要位置(数据从内存加载,操作并推回)。
无论运行什么线程都使用寄存器并拥有指令指针(指示下一条指令)。当操作系统在另一个线程中交换时,所有的CPU状态(包括寄存器和指令指针)都会被保存在某个地方,从而有效地冻结线程的状态,以便下一次恢复生命。
当然,所有这些都有更多关于所有这些的文档。首发Wikipedia on registers. Wikipedia on context switching.。编辑:或阅读Steve314的答案。 :)