最近我开始学习汇编,作为初学者,我想请教一个问题。我知道每个进程都有自己的寄存器集,而且每个线程可以修改这些寄存器,但是如果多个线程使用相同的寄存器会不会产生冲突?或者每个线程都有自己的一套寄存器?
最近我开始学习汇编,作为初学者,我想请教一个问题。我知道每个进程都有自己的寄存器集,而且每个线程可以修改这些寄存器,但是如果多个线程使用相同的寄存器会不会产生冲突?或者每个线程都有自己的一套寄存器?
线程是由内核或操作系统完成的,因此程序不需要关心它。如果没有可用的内核或操作系统,则需要自己实现。为此,您需要:
您有:
通过上下文切换,调度程序会交换线程数据以将执行传递给另一个线程。
通常,进程比线程更重,因此存在各种调度方法:
pushad
保存所有寄存器可能适用于协程,而不适用于操作系统的抢占式多任务处理。) - Peter Cordes