Question

I know that stacks are per thread, but registers are limited,like on IA32,only 8 registers.

So how are registers shared among threads?

Was it helpful?

Solution

Registers are used by the CPU when it's currently running a particular thread. When the OS decides to switch from one thread to another, the OS saves the current values of all the register into a private memory area specific to the first thread. Before the second thread starts running, the OS loads the values of all the registers from its saved area. This is called a context switch.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top