Notes

插队的影响、与中断的区别

一句话结论:“插队”是调度层面选择更高优先级任务;“中断/让出”是执行层面在安全点暂停,把控制权还给宿主(浏览器)以便渲染与响应输入。

1. 插队(Preemption)

  • 触发条件:更高优先级更新/任务出现
  • 行为:下一轮调度改为处理高优先级 lanes
  • 结果:低优先级工作可能被推迟,甚至放弃重做

2. 中断(Yield / Interruption)

  • 触发条件:达到时间片预算,shouldYield() 返回 true
  • 行为:暂停 workLoop,把剩余工作留到下一次继续
  • 结果:让浏览器有机会处理输入、布局、绘制等

3. 为什么要区分

  • 插队解决“谁先做”的问题(优先级)
  • 中断解决“别一次做太久”的问题(响应性)

关联阅读

cd ..