请问closechan()为什么没有回收chan的内存?
来源:1-6 Go 语法背后的秘密
Brook_StudyMachine
2021-05-22 14:50:29
func main() { ch := make(chan int, 1) fmt.Printf("%p\n",ch) close(ch) fmt.Printf("%p\n",ch) }
0xc000052070
0xc000052070
通过示例和查看源代码,看到closechan之后,chan的内存并没有被回收。
想象中,closechan()后,这个chan就妹用了,应该回收掉减少gc压力
golang为什么不这么做?
1回答
Xargin
2021-05-22
close 的 channel,
buffer 不一定清空了啊,还可能被使用的
相似问题