码农桃花源
GitHub
知乎
掘金
博客园
Search…
码农桃花源
README
channel
06 - 从一个关闭的 channel 仍然能读出数据吗
12 - channel 有哪些应用
08 - 如何优雅地关闭 channel
10 - channel 在什么情况下会引起资源泄漏
00 - 什么是 CSP
channel 底层的数据结构是什么
09 - channel 发送和接收元素的本质是什么
11 - 关于 channel 的 happened-before 有哪些
04 - 向 channel 发送数据的过程是怎样的
03 - 从 channel 接收数据的过程是怎样的
07 - 操作 channel 的情况总结
05 - 关闭一个 channel 的过程是怎样的
map
interface
标准库
goroutine 调度器
编译和链接
反射
数组和切片
GC
Powered By
GitBook
10 - channel 在什么情况下会引起资源泄漏
Channel 可能会引发 goroutine 泄漏。
泄漏的原因是 goroutine 操作 channel 后,处于发送或接收阻塞状态,而 channel 处于满或空的状态,一直得不到改变。同时,垃圾回收器也不会回收此类资源,进而导致 gouroutine 会一直处于等待队列中,不见天日。
另外,程序运行过程中,对于一个 channel,如果没有任何 goroutine 引用了,gc 会对其进行回收操作,不会引起内存泄漏。
Previous
08 - 如何优雅地关闭 channel
Next
00 - 什么是 CSP
Last modified
2yr ago
Copy link