本地队列队列为空会去全局队列截取一半goroutine放入本地队列
来源:1-4 Go 程序是怎么跑起来的
SuperDi
2021-05-19 20:08:36
老师您说本地队列的长度是固定 256,那如果全局队列的一半超过了 256 是怎么处理的啊?
1回答
最多只拿本地队列的一半,有代码为证:
if n > int32(len(_p_.runq))/2 {
n = int32(len(_p_.runq)) / 2
}
其中 _p_.runq 的长度是 256。
具体看看代码:src/runtime/proc.go:5571
相似问题
回答 1