go
文章平均质量分 76
张国星就是个弱智
我是张国星,我就是个弱智
展开
-
szszszszsz
系统监控go程序在执行时会启动一个后台线程用于系统监控。不需要依赖P,直接绑定到M上作用:1). 检查死锁:2). 获取下一个需要被触发的计时器。每个P都有一个最小堆结构p.timers,堆顶timer就是要触发的timer,每次调度时都会去检查已经到达时间的函数,可是如果迟迟没有发生调度,就有可能让timer执行时间发生较大偏差,因此使用监控线程来检测timer的运行,当没有timer要执行时,会进入休眠状态,当发现下一个计时器触发时间小于当前时间,会启动新的线程来触发计时器3). 轮询网络..原创 2021-03-23 11:11:59 · 1372 阅读 · 0 评论 -
golang 二维切片
a := make([][3]int, 2)var b [2][3]inta1 := b[:][:]原创 2020-12-02 20:28:23 · 1206 阅读 · 0 评论 -
迭代变量捕获的坑
func main() { var lists []func() var vue []int for a := 1; a < 3; a++ { vue = append(vue, a) lists = append(lists, func() {fmt.Println(a)}) } fmt.Println(vue) // [1,2] for _, f := range lists { f() //[3,3] }}每次循环产生的函数,其记录的是循环变量的地址,所有循环产生原创 2020-11-12 20:43:38 · 192 阅读 · 0 评论