什么时候会触发线程切换

题目来源:腾讯

答案1:

线程只在分配的时间片内占用处理器,当一个线程分配的时间片用完了,或者自身原因被迫暂停运行的时候,就会有另外一个线程来占用这个处理器,这种一个线程让出处理器使用权,另外一个线程获取处理器使用权的过程就叫做上下文切换(线程切换)。

一个线程让出处理器使用权,就是“切出”;另外一个线程获取处理器使用权。就是“切入”。

在这个切入切出的过程中,操作系统会保存和恢复相关的进度信息,这个进度信息就是我们常说的“上下文”,上下文中一般包含了寄存器的存储内容以及程序计数器存储的指令内容。