go channel 使用注意总结

2022-08-08  本文已影响0人  wayyyy

原文出自:用 channel 把 Go 程序写崩的三种姿势,你集齐过吗?

死锁问题
goroutine 泄漏

错误地使用 channel 会导致 goroutine 泄漏,进而导致内存泄漏。

比如:生产者/消费者 所在的 goroutine 已经退出,而其对应的 消费者/生产者 所在的 goroutine 会永远阻塞住,直到进程退出

panic
如何优雅地 close channel

参考资料:
1、Golang channel 死锁的几种情况以及例子
2、How to Gracefully Close Channels
3、深入解析 Goroutine 泄露的场景:channel 发送者

上一篇 下一篇

猜你喜欢

热点阅读