当我调用 pthread_yield
或 pthread_block
并且 CPU 进行上下文切换时
程序计数器是存储在线程堆栈(与其临时寄存器一起)还是线程控制 block (与堆栈指针一起)
最佳答案
通常应该在TCB中。但我相信它是特定于实现的。 TCB 中包含的信息示例如下:
- 线程标识符:分配给每个新线程的唯一 ID (tid)
- 栈指针:指向线程在进程中的栈
- 程序计数器
- 线程的状态(运行、就绪、等待、开始、完成)
- 线程的寄存器值
- 指向线程所在进程的进程控制 block (PCB) 的指针
关于c - 线程上下文切换期间程序计数器存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824932/