1.并发控制方法主要有:
- 全局变量
- channel
- WaitGroup
- context
- runtime
2.Golang学习篇——协程池
3.golang锁和原子操作
4.Go 触发 GC 的时机有哪些?能手动触发吗?
在系统触发的场景中,Go 源码的 src/runtime/mgc.go 文件,明确标识了 GC 系统触发的三种场景,分别如下:
const (
gcTriggerHeap gcTriggerKind = iota
gcTriggerTime
gcTriggerCycle
)
-
gcTriggerHeap:当所分配的堆大小达到阈值(由控制器计算的触发堆的大小)时,将会触发。
-
gcTriggerTime:当距离上一个 GC 周期的时间超过一定时间时,将会触发。-时间周期以 runtime.forcegcperiod 变量为准,默认 2 分钟。
-
gcTriggerCycle:如果没有开启 GC,则启动 GC。
-
- 在手动触发的 runtime.GC 方法中涉及。
1368

被折叠的 条评论
为什么被折叠?



