Go语言运行时调度器的抢占式调度实现机制是什么?

提问者:帅平 问题分类:面试刷题
Go语言运行时调度器的抢占式调度实现机制是什么?
1 个回答
忆往昔べ岁月如歌
忆往昔べ岁月如歌
底层原理:
1、基于信号的抢占:
通过 SIGURG 信号中断长时间运行的Goroutine,触发调度器重新分配CPU。
2、系统监控线程(sysmon):
每20ms检测一次,若发现Goroutine运行超过10ms,触发抢占标记。
3、调度优先级:
网络轮询器(netpoller)和系统调用阻塞的Goroutine优先被唤醒。
发布于:1个月前 (03-31) IP属地:
我来回答