Hrvoje T Asked: 2019-11-13 09:04:37 +0800 CST2019-11-13 09:04:37 +0800 CST 2019-11-13 09:04:37 +0800 CST 每个线程如何拥有自己的寄存器? 772 线程共享指令、全局和堆区域,但有自己的单独堆栈和寄存器。 当 CPU 中的寄存器数量是最终的且恒定的时,进程中的每个线程如何拥有自己的寄存器? cpu threads 1 个回答 Voted Best Answer Mokubai 2019-11-13T09:54:36+08:002019-11-13T09:54:36+08:00 进程线程是一种操作系统结构。当进程中的线程在 CPU 上运行和挂起时,它们的“状态”被保存和恢复。当一个线程被挂起时,堆栈和寄存器状态被保存,当线程准备好再次运行时,它的堆栈和寄存器状态被恢复到 CPU。 跨进程内的线程,全局和堆区域是通用的,并且可以在线程之间共享信息。执行状态(堆栈和寄存器)是不共享的,因为如果是这样,那么您将拥有的只是一堆运行完全相同代码而不是不同代码的线程。 此级别的“堆栈和寄存器”是保存状态,而不是物理 CPU 寄存器。
进程线程是一种操作系统结构。当进程中的线程在 CPU 上运行和挂起时,它们的“状态”被保存和恢复。当一个线程被挂起时,堆栈和寄存器状态被保存,当线程准备好再次运行时,它的堆栈和寄存器状态被恢复到 CPU。
跨进程内的线程,全局和堆区域是通用的,并且可以在线程之间共享信息。执行状态(堆栈和寄存器)是不共享的,因为如果是这样,那么您将拥有的只是一堆运行完全相同代码而不是不同代码的线程。
此级别的“堆栈和寄存器”是保存状态,而不是物理 CPU 寄存器。