Closed woshidama323 closed 2 years ago
再加一个参考文章 https://www.pefish.club/2020/05/18/Golang/1020Goroutine%E7%9A%84%E6%8A%A2%E5%8D%A0/
关于lockosthread的一个问题讨论 https://news.ycombinator.com/item?id=14472209
scheduler 调度器观察方法 debug中的字段描述意思
中文 https://www.luozhiyun.com/ 关于golang的调度器的分享
官方文档
https://golang.org/s/go11sched
### 主要目的是了解,调度器的概念,GMP 以及相互之间的关系
### sysmon
1. 用于处理 timer 如果没有被准时调度,sysmon协助保证被调度执行
2. 如果gc 没有在规定的2min还没被运行,将force run
3. 监控系统情况 trace等工具看不到该thread
### value semantics 与pointer semantic的选择
(根据变量类型来判断,如果是内置变量 如string int等 用value semantics )
func (harry htype) helloharry() {}
(如果是reference变量 如slice map interface 用value semantics )
(如果频繁被调用的,自定义的struct 等 可以考虑用pointer )
unmarsh这类decode encode等操作是需要用pointer的
### pointer的好处以及在frame中的部分 一个goroutine 会分配2kb的空间,如果需要扩大或者缩小 需要重新替换行的block of memory
### 逃逸分析确定 是否将数据 存入到heap中
###
### 需要继续消耗
https://medium.com/a-journey-with-go/go-what-does-a-goroutine-switch-actually-involve-394c202dddb7
这个人的一系列的文章 浏览完
### 这个人的博客也建议阅读
https://www.luozhiyun.com/archives/439
目前因为qt的问题,已经解决乱码的问题
golang 调度研究