如果我要在 POSIX 环境中使用 pthread,并且即将发生上下文切换,则必须将esp
寄存器的当前值存储在某个地方,以便在上下文切换回该线程时可以检索它,因为esp
寄存器的值将是被另一个线程保存的 SP 值覆盖。我认为不可能esp
为每个线程都有单独的寄存器(如果我错了,请纠正我)。话虽如此,我想知道在上下文切换之前,当前线程的SP值存储在什么数据结构中?
我尝试查找struct pthread*
从 的值转换的 ' 值pthread_t
,但是当我调用某个函数来更改我正在测试的线程的当前 SP(即在调用测试函数之前和之后进行比较)时,什么都没有改变。