关于抢占式调度

来源:2-1 阶段复习+巩固基础+答疑

冼星扉

2021-06-23 21:54:11

曹大,

https://class.imooc.com/course/qadetail/289288

这里助教提到sysmon检测到g执行超过10ms抢占

  1. 当 goroutine 执行时间过长,超过 10ms,sysmon 会检测到,然后向这个 goroutine 所在的 m 发 SIGURG 信号。

那么像下面的情况:

var i, sum int64
for i=0; i<100_000_000_000; i++ {
sum++
}

像这样计算是秒级CPU密集型,也会被抢占,这样非死循环的计算岂不是增加了成本?感觉不是这样吧。

写回答

1回答

Xargin

2021-06-25

你这个例子会抢占的

可以用go tool trace来观察一下

0

Go高级工程师实战营

慕课网与 GoCN 社区官方联手打造,定义行业Go高级人才培养标准,4个月,快速晋升为P6+/D7级高级人才。

458 学习 · 266 问题

查看课程