多线程的上下文切换:
【上下文切换】对于多线程应用,单CPU通过切片(时间片)的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。
当CPU从执行一个线程切换到执行另外一个线程的时候,它需要先存储当前线程的本地的数据,程序指针等,然后载入另一个线程的本地数据,程序指针等,最后才开始执行。这种切换称为“上下文切换”(“context switch”)
对此我有几个问题:
1.CPU切换线程的时候,除了存储当前线程的本地的数据,程序指针
还会有哪些操作?
2.程序指针
的作用是什么?是否是指定程序执行在哪一行了?
就是保存CPU各个寄存器的值. 别的没了. 你说的程序指针应该就是IP寄存器吧. 指向当前要执行的指令地址.