1
zmcity 2023-09-19 17:11:27 +08:00
提高 gc 吞吐量。
|
2
hankai17 2023-09-19 17:15:45 +08:00
有种 atomic 的感觉
|
4
waiY 2023-09-19 17:59:24 +08:00
[粗线条话 GC (一)] https://www.bilibili.com/video/BV1hv411x7we?p=19
我看这里有简单解释了一下,GC 开始前需要 STW 通知全部的 g 开启写屏障,没有 STW 的话可能会导致部分的 g 开启写屏障有延时导致错误。至于”1.14 之前,golang 无法强制停止 goroutine 从而无法启动开始 gc “是因为 1.13 之前是依赖编译期间插入的代码来检测是否有 gc 在等待执行,如果代码中有个 for{}循环就会导致插入的代码无法执行,从而导致一直阻塞 |
5
gav1nvv 2023-09-19 18:05:07 +08:00
貌似和多线程引用计数需要记录指针调用,如果线程运行中启动,可能会影响指针记录,造成内存泄漏,所以等 goroutine 结束再启动
|